2015-01-11 26 views
4

我試圖建立一個使用頁面動作彈出功能的Chrome擴展,但我的JavaScript似乎沒有工作。這裏是來源:你可以在頁面動作彈出窗口中使用JavaScript嗎?

<!DOCTYPE html> 
<html> 
    <body> 
     <input type="button" id="button1" value="first button"> 
     <input type="button" id="button2" value="second button"> 
     <script> 
      console.log("do anything!!"); 
     </script> 
    </body> 
</html> 

我看不到任何地方的記錄器語句。我似乎無法獲得任何運行。這是彈出如何工作?文檔沒有提到這些彈出窗口只是靜態HTML。

+1

相關:http://stackoverflow.com/questions/17601615/the-chrome-extension-popup-is-not-working-click-events-are-not-handled –

回答

5

首先,Chrome擴展程序不允許運行內嵌Javascript代碼(也就是任何不包含在.js文件內但包含在DOM中的代碼片段)。

the Content Security Policy page報價:

沒有放鬆對執行內嵌的JavaScript限制的機制。特別是,設置包含「不安全內聯」的腳本策略將不起作用。

因此,你需要把你的代碼中的另一個文件中,並導入它,就像這樣:

<sctipt src="popup.js"></script> 

其次,你碰到彈出代碼被記錄在自己的控制檯 ,所以你必須右鍵點擊你的分機的圖標,然後點擊「檢查彈出」。然後,會出現一個開發人員工具窗口,您將可以瀏覽到「控制檯」選項卡並查看日誌。或者,您可以打開彈出窗口並右鍵單擊其中的任意位置,然後選擇「檢查元素」,就像在任何常規頁面上一樣。

enter image description here

+0

你似乎忘了它也是內聯代碼。 – Xan

+0

@Xan內聯代碼是的,這意味着什麼? –

+0

我真的很困惑你,在這個標籤上的所有人,[沒有看到它](https://developer.chrome.com/extensions/contentSecurityPolicy#JSExecution)。 – Xan

相關問題