簡體   English   中英

注入的腳本不響應page-js

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM