Chrome扩展程序点击页面加载

时间:2013-12-09 18:34:23

标签: javascript jquery google-chrome-extension click refresh

我正在尝试创建一个Chrome扩展程序,在加载/刷新某个网站的页面时会单击一个链接。到目前为止,我还没有能够让它工作,我尝试了不同来源的不同代码片段,但无论我尝试什么,它仍然没有做任何事情。

我的清单看起来像这样 -

 {
  "name": "SITENAME",
  "manifest_version": 2,
  "version": "1",
  "content_scripts": [
    {
      "matches": ["*://SITENAME.com/*"],
      "js": ["sitenamelink.js"]
    }
  ], "permissions": [
    "tabs" , "*://SITENAME.com/*"
  ]
}

该网站将在其末尾附加随机动态变量,例如“sitename.com/product/model...etc。等”所以真的没办法让它变得可预测,只有这样才能找到页面网址并每次更新扩展程序,这不是我想要做的事情。

我试图让js编码干净简单,我现在拥有的是 -

$(document).ready(function(){
$('#addToCartLink').trigger('click');
});

我也试过了 -

jQuery.noConflict();
jQuery(document).ready(function() {
   jQuery('a#addToCartLink')[0].click();
});

和 -

$(document).ready(function(){
$('a#addToCartLink')[0].click();
});

包含链接的网页,如此编码 - <a id="addToCartLink" href="javascript:addToCart()" onclick="showBubble(this)" onmouseout="hideBubble()"><span>Add to Cart</span></a>

我不确定如何检查它以查看我的代码失败的位置,因为当我用chrome检查时,它只显示该页面编码的js错误。

那么我做错了什么?任何帮助深表感谢。感谢。

这是一个测试页面,如果您按照此链接选择大小,现在只需要点击添加到购物车链接。 - 测试页

1 个答案:

答案 0 :(得分:1)

我的示例扩展(见下面的代码)对我来说很好。
例如:访问您提供的 Test Page ,点击ADD TO CART链接,该项目就会添加到购物车中。

<强>的manifest.json:

{
    "manifest_version": 2,

    "name":    "Test Extension",
    "version": "0.0",
    "offline_enabled": false,

    "content_scripts": [{
        "matches":    ["*://*.sitename.com/*"],
        "js":         ["content.js"],
        "run_at":     "document_end",
        "all_frames": false
    }]
}

<强> content.js

document.getElementById('addToCartLink').click();