2014-02-06 49 views
1

我想創建一個可打開彈出窗口的Chrome擴展,並且我想在我的html文件中使用jQuery。在彈出式擴展插件中加載jquery

創建我的manifest.json

{ 
    "name": "My First", 
    "description": "Test App", 
    "version": "0.1", 
    "app": { 
    "background": { 
     "scripts": ["background.js"] 
    } 
    }, 
    "icons": { "16": "radio_tower-32.png", "128": "radio_tower-128.png" } 
} 

然後創建一個background.js

chrome.app.runtime.onLaunched.addListener(function() { 
    chrome.app.window.create('window.html', { 
    'bounds': { 
     'width': 250, 
     'height': 250 
    } 
    }); 
}); 

然後創建我的HTML頁面

<!DOCTYPE html> 
<html> 
    <head> 
    <script type="text/javascript" src="jquery-1.11.0.min.js"></script> 
    </head> 
    <body> 
    <a onclick="$('.playeraudio')[0].pause();">Stop</a> 
    <audio controls="controls" autoplay class="playeraudio"><source src="http://mystream.mp3" type="audio/mp3" /></audio> 
</body> 
</html> 

jquery的-1.11.0。 min.js在文件夾中,但點擊不起作用。 我試圖用改變background.js:

chrome.app.runtime.onLaunched.addListener(function() { 
    chrome.app.window.create('window.html', { 
    'bounds': { 
     'width': 250, 
     'height': 250 
    } 
    }); 
}); 
chrome.tabs.executeScript(null, { file: "jquery.js" }, function() { 
    chrome.tabs.executeScript(null, { file: "content.js" }); 
}); 

但它沒有功能(content.js夾中)。有誰能夠幫助我?我需要改變什麼?由於

+0

你的html頁面是否在插件之外工作?你的控制檯是否有錯誤?在一個文件中,你引用''jquery.js「'在另一個文件中''jquery-1.11.0.min.js」'..? – Philipp

+0

是的抱歉,我在複製時發生錯誤。 – user3281544

+0

請不要修改您的代碼以使現有答案失效。如果你必須的話,你應該問一個新的問題。 – Teepeemm

回答

1

我只是想在我工作的一個Chrome擴展的測試,並在控制檯中得到這個錯誤:

Refused to execute inline event handler because it violates the following 
Content Security Policy directive: "script-src 'self' chrome-extension-resource:". 

對違規更多的細節:https://developer.chrome.com/extensions/contentSecurityPolicy.html#JSExecution

基本上你需要將onclick EventListener提取到它自己的JS文件中。

+0

現在jQuery的作品...但不是播放暫停...看到我貼的代碼... – user3281544