2015-07-02 88 views
1

我爲Chrome創建了一個簡單的插件,它爲我提供了一些功能,例如,在按下某些鍵時創建一個新的cookie的功能。如何在控制檯中使用Chrome開發工具腳本?

當頁面加載時,我可以看到該文件已加載(因爲如果我在該插件中打印某些內容,Chrome會向我顯示執行此操作的JS在哪裏)。

我的問題是:如何在控制檯中使用此js的功能?我的插件的

例子:

manifest.json的

{ 
    "name":"Function helpers", 
    "description":"", 
    "version":"1", 
    "manifest_version":2, 
    "content_scripts": [{ 
     "matches": ["http://localhost:9999/*"], 
     "js": ["jquery.js", "myscript.js"] 
    } 
    ] 
} 

myscript.js

console.log("It works!"); 
    var helper = { 
     createCookie = function(){ 
      console.log("Cookie created!"); 
     } 

    } 

Chrome的控制檯顯示我:

It works!      - myscript.js:1 

我希望能夠在Chrome的控制檯中調用myscript.js文件的函數helper.createCookie()

回答

1

似乎你不能。

內容腳本在稱爲孤立世界的特殊環境中執行。他們可以訪問他們注入的頁面的DOM,但不能訪問頁面創建的任何JavaScript變量或函數。它會查看每個內容腳本,就好像其上運行的頁面上沒有執行其他JavaScript一樣。反過來也是如此:頁面上運行的JavaScript不能調用任何函數或訪問由內容腳本定義的任何變量。

http://developer.chrome.com/extensions/content_scripts.html#execution-environment

-1

,我發現了一個辦法做到這一點。

使用這個職位的答案:Include jQuery in the JavaScript Console

我創建了一個書籤,攜帶jQuery和我的劇本,現在我能做到這一點注射:d爲解決它

+0

恭喜你的實例,但這實際上並不能回答你的問題。這是一種解決方法,而不是原始問題的解決方案。 – MattieTK

+0

你是對的,謝謝。 –

相關問題