注入的脚本没有响应page-js

时间:2016-05-29 15:38:48

标签: javascript jquery google-chrome-extension

我正在为名为csgo500.com的网站进行扩展。在我的脚本中有一个函数,如果我赢或输,就会启动。当我把它直接放到控制台时,该功能有效,但当我把它作为扩展时,它只告诉我:

Uncaught ReferenceError: winner is not defined

我的代码如下所示:

var winlose = function() {
  if (winner.choice === 0) {
    document.getElementById('bet-btn-min').click();
    document.getElementById('bet-btn-10').click();
}
else {
  document.getElementById('bet-btn-double').click();
}
}

我已经检查了其他解释"未定义"在这个网站上,但没有一个与我有相同类型的问题。 有什么建议或灵魂吗?

修改 获胜者将在网站js中宣布为: '

function generateRound(data) {
    lastRound = round;
    round = data.round;
    winner = data.winner;
    numberBets = 0;
    $wheelTimer.show();

1 个答案:

答案 0 :(得分:1)

过了一段时间我找到了解决问题的方法:

我最终做的是改变我将脚本放入网站的方式。我改变了我的清单:

   "js": ["contentscript.js"]
    }
  ], 
   "web_accessible_resources": ["inject.js","index.html"],

我制作了文件contentscript.js:

var s = document.createElement('script');
s.src = chrome.extension.getURL('inject.js');
(document.head||document.documentElement).appendChild(s);
s.onload = function() {
    s.parentNode.removeChild(s);
};

现在不是仅仅添加注入文件而是插入它,就好像它是来自站点的文档一样。它现在可以正确访问站点文件。

我希望这有助于其他人=)