好的,所以我有一个书签,可以打开加载程序 img,然后创建/加载/附加 5 个包含的 JS/CSS 文件。
在 chrome、FF、IE、Opera 中运行良好。但是在野生动物园它有一个问题。
由于 firebug lite 非常没用,而且 safari 开发者工具没有抛出任何错误,我不得不尝试console.log()
某些输出来查看问题出在哪里。
我发现问题在于包含的加载或我检查包含是否已加载的方式。
如果您仔细查看代码,您会看到它的 CSS 包含。更奇怪的是,当我检查元素并滚动到标题时,它显示包含的文件在那里。
我知道我可能可以创建一个函数来提高这段代码的效率,但现在我没有。
代码有点长,所以这里有一个 gisthube 链接: https ://gist.github.com/b443582b1ced537b7612
/* creating loading and appending include files for the bookmarklet*/
if (window.jQuery === undefined || window.jQuery.fn.jquery < v) {
var done = false;
var jquery_load = document.createElement("script");
jquery_load.src = "http://ajax.googleapis.com/ajax/libs/jquery/" + v + "/jquery.min.js";
jquery_load.setAttribute('id', 'yk_bookmarklet_jquery');
jquery_load.onload = jquery_load.onreadystatechange = function(){
if (!done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
loaded_headers++;
console.log("Next1"); // <-- is being printed to console
if(loaded_headers >= total_headers){
done = true;
$.getJSON("xxxx",
function(data){
/* more variables*/
window.mbm = false;
initMyBookmarklet(); // function that has the bookmarklet info.
});
}
}
};
var CssScript = document.createElement("link");
CssScript.href = "xx;
CssScript.setAttribute('type', 'text/css');
CssScript.setAttribute('rel', 'stylesheet');
CssScript.setAttribute('media', 'all');
CssScript.setAttribute('id', 'yk_bookmarklet_css');
CssScript.onload = CssScript.onreadystatechange = function(){
if (!done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
loaded_headers++;
console.log('Next2');// <-- DOES NOT print to console
if(loaded_headers >= total_headers){
done = true;
$.getJSON("xxxx",
function(data){
/* more variables*/
window.mbm = false;
initMyBookmarklet(); // function that has the bookmarklet info.
});
}
}
};
/*appending the created elements*/
document.getElementsByTagName("head")[0].appendChild(jquery_load);
document.getElementsByTagName("head")[0].appendChild(yk_bookmarklet);
}
我知道代码有点长,所以我将包含一个 gist hub 链接: https ://gist.github.com/b443582b1ced537b7612
谢谢。