Javascript 在用户脚本中使用Cufon

Javascript 在用户脚本中使用Cufon,javascript,userscripts,cufon,Javascript,Userscripts,Cufon,我使用此功能导入JS文件: function importScript(url){ var tag = document.createElement("script"); tag.type= "text/javascript"; tag.src = url; document.body.appendChild(tag); } 因此: 没关系。我在源代码中看到了这些代码片段的脚本文件。一切正常。但当我给库丰打电话时: Cufon.replace('h1'); Chrome控制台显示:未捕获引用

我使用此功能导入JS文件:

function importScript(url){
var tag = document.createElement("script");
tag.type= "text/javascript";
tag.src = url;
document.body.appendChild(tag);
}
因此:

没关系。我在源代码中看到了这些代码片段的脚本文件。一切正常。但当我给库丰打电话时:

Cufon.replace('h1');

Chrome控制台显示:未捕获引用错误:未定义Cufon

您正在使用的方法异步加载脚本,因此以下代码段:

Cufon.replace('h1');
在加载Cufon库之前运行


相反,传入回调,并使用
onload

function importScript(url, callback) {
    var tag = document.createElement("script");

    tag.type = "text/javascript";
    tag.src = url;

    callback && (tag.onload = callback);

    document.body.appendChild(tag);
}

importScript("http://cdnjs.cloudflare.com/ajax/libs/cufon/1.09i/cufon-yui.js", function() {
    importScript("https://raw.github.com/gist/3160278/0895dcf14f623abba82c4aa7d25e00e50404248a/Meta.js", function() {
        Cufon.replace('h1');
    });
});
这很快就会失控。我建议你考虑使用一种新的方法


问题是:

我对“回调”一词一无所知,而且这东西也不起作用。@UfukSarpSelçok-我的错。更新。现在应该可以了。退房,不,没有。@run at会有所不同吗?因为我还没有定义。顺便说一句,同样的错误。
function importScript(url, callback) {
    var tag = document.createElement("script");

    tag.type = "text/javascript";
    tag.src = url;

    callback && (tag.onload = callback);

    document.body.appendChild(tag);
}

importScript("http://cdnjs.cloudflare.com/ajax/libs/cufon/1.09i/cufon-yui.js", function() {
    importScript("https://raw.github.com/gist/3160278/0895dcf14f623abba82c4aa7d25e00e50404248a/Meta.js", function() {
        Cufon.replace('h1');
    });
});