我正在为名为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();
答案 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);
};
现在不是仅仅添加注入文件而是插入它,就好像它是来自站点的文档一样。它现在可以正确访问站点文件。
我希望这有助于其他人=)