0

我正在尝试编写一个书签,允许我在访问页面之前查看页面上所有链接的信任网络 (WOT)评级。虽然 WOT 提供了自己的书签,但它并不是很有用,因为您需要先访问该页面才能查看评级。这将在 SeaMonkey 上使用,所以我也不能只安装 WOT 扩展。

WOT 有一个Javascript API,允许您在它包含的任何页面上激活评级,所以我使用它作为基础。但是,它似乎永远无法作为书签正常工作。这是我试图使代码尽可能接近 API 的一种尝试。我只修改了 wotinject 函数,以便它可以在书签中工作,并添加了一个超时,以便在 jQuery 之前不会加载评级小部件。

var wotprotocol = (document.location.protocol == "https:") ? "https://" : "http://";
var wotbase = wotprotocol + "api.mywot.com/widgets";
var wotinject = function(src) {
  document.body.appendChild(document.createElement("script")).src = wotbase + "/" + src + ".js";
};
var wotjquery = typeof(jQuery) != "undefined";
if (!wotjquery) {
  wotinject("jquery");
}
void(window.setTimeout(wotinject, 200, "ratingwidget"));

我可以在状态栏中看到正在加载的 API,但它根本没有做任何事情。有什么办法可以让这个工作吗?

4

1 回答 1

-1

我不确定这是否能回答你的问题,但我在生产中使用了一个加载 jQuery 的书签。这段代码对我来说很好:

load = function() {
    load.getScript("http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js");
    // do stuff when jQuery finishes loading.
    load.tryReady(0);
}
load.getScript = function(filename) {
    var fileref = document.createElement('script');
    fileref.setAttribute("type","text/javascript");
    fileref.setAttribute("src", filename);
    if (typeof fileref!="undefined")
        document.getElementsByTagName("head")[0].appendChild(fileref);
}
load.tryReady = function(time_elapsed) {
    /* Continually polls for jQuery library. */
    if (typeof $ == "undefined") {
        if (time_elapsed <= 5000) {
            setTimeout("load.tryReady(" + (time_elapsed + 200) + ")", 200);
        } else {
            alert("Timed out while loading jQuery.");
        }
    } else {
        /************ JQUERY IS NOW LOADED, PUT CODE HERE ****************/
    }
}
load();
于 2009-12-08T03:29:09.143 回答