0

我制作了一个加载多个标题的书签。一些 JS 一些 CSS。创建标题元素后,我会onreadystatechange检查包含的标题何时加载。

但是由于某种原因,此检查不适用于 css 标头的 safari。

这是它的代码:

var CssScript = document.createElement("link");
CssScript.href = "http://domain.com/css/bookmarklet.css";
CssScript.setAttribute('type', 'text/css');
CssScript.setAttribute('rel', 'stylesheet');
CssScript.setAttribute('media', 'all');
CssScript.setAttribute('id', 'yk_bookmarklet_css');
CssScript.onload = CssScript.onreadystatechange = function(){
    console.log("asdfasdfasdfasdf");
    if (!done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
        loaded_headers++;
        console.log('Next2');
        if(loaded_headers >= total_headers){
            done = true;
            $.getJSON("http://www.shopsavr.com/bookmarklet_getjson_functions.php?jsoncallback=?", {'url' : encodeURIComponent(document.URL)},
                function(data){
                    collections = data.collecitons;
                    product_found = data.product;
                    uID = data.uID;
                    url = data.url;
                    window.mbm = false;
                    initMyBookmarklet();
                });
        }
    }
};

这在 IE、FF、chrome、Opera 中完美运行 - 它只在 safari 上失败。

4

0 回答 0