【问题标题】:Port Greasemonkey script to Chrome将 Greasemonkey 脚本移植到 Chrome
【发布时间】:2011-08-10 09:15:26
【问题描述】:

我发现了一个 Greasemonkey 脚本,它在 Firefox 中运行良好,但在我首选的浏览器 Chrome 中却不行。 http://userscripts.org/scripts/show/105578

我试图自己修复它,但没有运气。 我已经发布了my findings during debugging, here

我该如何解决?


更新:(来自 OP 评论)

通过联系 TamperMonkey 的开发者来解决这个问题。随着 TamperMonkey 的最新测试版及其工作脚本的修改。 见this thread at userscripts.org

另一个问题指出: Chrome 似乎禁止直接 访问锚的href 属性(在某些情况下)。

但是,如果通过 getAttribute() 检索到 href 属性 一切正常。

【问题讨论】:

    标签: javascript google-chrome port greasemonkey tampermonkey


    【解决方案1】:

    Chrome 本身不支持GM_ 函数,并且该脚本大量使用跨域GM_xmlhttpRequest()

    最聪明的做法是安装Tampermonkey,它可以可能按原样运行现有脚本。

    【讨论】:

    • code.google.com/p/chromium/issues/detail?id=18857#c111 据此, GM_xmlhttpRequest() 应该可以工作。我使用 Chrome 13.0.782.109 测试版。通过使用 Tampermonkey,GM_ 功能似乎可以工作,因为它不再抱怨没有连接到 icheckmovies。但是脚本还是不行。
    • 好的,他们刚刚发布了跨站点 XHR 功能,这意味着 GM_xmlhttpRequest()应该在 Tampermonkey 之外工作。但是你必须比“脚本仍然不起作用”更具体。把它分解成块。 ——
    • 这一行之后变量 ns 的输出在 FF 和 Chrome 中是不一样的。 ns.push(r.snapshotItem (i)); Firefox: ns=/movie/alien/ Chrome: ns= 实际上不同之处在于 Firefox 将 [C] 涂成橙色,然后是绿色,然后在 icheckmovies.com 上检查电影。在 Chrome 中,[C] 仅显示为橙色,然后不会再发生任何事情。
    • 通过联系 TamperMonkey 的开发人员得到它的工作。随着 TamperMonkey 的最新测试版和脚本的修改,它可以工作。 userscripts.org/topics/84252
    • 优秀。也令人耳目一新。
    猜你喜欢
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 2021-10-19
    相关资源
    最近更新 更多