2014-02-23 105 views
-7

我目前正在嘗試製作一個在用戶的默認日曆中插入事件的Chrome擴展。但是,我遇到了一些問題。在日曆中使用Javascript創建新事件 - Chrome擴展 - Google Calendar API - Gdata

首先,當我嘗試運行腳本時,它說我必須在同一個域的HTML文件中包含一個圖像。但是當我這樣做時(我將圖像放在與其他.html和.js文件相同的文件夾中),它表示圖像必須來自HTTPS源而不是HTTP。

其次,當我嘗試插入一個事件,我得到一個錯誤,指出:

Refused to execute inline event handler because it violates the following Content 
Security Policy directive: "script-src 'self' 
https://www.google.com/calendar/feeds/default/private/full 
https://www.google.com/jsapi 
https://www.google.com/calendar/feeds/[email protected]/public/full 
https://www.google.com/uds/?file=gdata&v=2.x". 

的問題是,我已經包括了一些應該被允許的來源,我不知道還有什麼這是我失蹤?

過去幾周我一直有這個問題。任何幫助將非常感激。如果還有其他插入事件的方式,請告訴我(它必須使用JavaScript和Chrome擴展)。

+0

您應該閱讀[內容安全策略](http://www.html5rocks.com/en/tutorials/security/content-security-pol)冰/)。 – abraham

+0

謝謝亞伯拉罕。我能夠通過使用該資源的許多方式來改進我的代碼。但是,我不斷收到問題:圖像必須來自同一個域? – sshashank124

+0

錯誤是否從您在問題中列出的內容中更改?這裏的錯誤是你不能執行內聯處理程序,所以在HTML中有某種JavaScript。可能是'onclick =「function()」'或類似的東西 – abraham

回答

0

我想通了。我只是將內容安全策略參數更改爲

"script-src 'self' https://www.google.com/* 

以便允許來自www.google.com和子網站區域的所有來源。

此外,而不是有一個內嵌的事件處理程序,我改變了我的按鈕,如下:

<button type="button" class="button">CREATE NEW EVENT</button><br><br> 

然後在我的JavaScript文件我補充說:

$('.button').bind('click', createNewEvent()); 

這一切,而不是:

<button type="button" class="button" onclick="createNewEvent()">CREATE NEW EVENT</button><br><br> 
相關問題