[英]Injected script not responding with page-js
我正在擴展名為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();
一段時間后,我找到了解決問題的方法:
我最終要做的是更改將腳本放入站點的方式。 我更改清單:
"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);
};
因此,現在而不是僅添加注入文件,而是將其插入,就像它是站點中的文檔一樣。 現在,它可以正確訪問站點文件。
我希望這對其他人有幫助=)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.