2016-05-15 19 views
0

這個我的問題與this非常相似,但是那裏的答案對我來說不是很清楚。如何調用extern .js文件中的函數?

所以,來這裏知道更多關於這個問題。

我有一個extern .js文件,它有幾個函數和一個獨特的函數,可以調用這個.js extern文件中存在的所有其他函數。

然後,我需要在我的chrome.webRequest.onCompleted.addListener事件中調用此「主函數」。

到現在爲止,我擁有的所有東西都可以在下面看到,但沒有任何效果。

的manifest.json

{ 
    "description": "Media Player for Flash", 
    "manifest_version": 2, 
    "name": "Media Player", 
    "icons": { 
    "128" : "picture/flash128.png" , 
    "48" : "picture/flash48.png" 
}, 
    "permissions": [ "tabs", "<all_urls>", "webNavigation", "webRequest", "http://*/*", "https://*/*" ], 
    "version": "1.0" 
} 

callback.js

chrome.webRequest.onCompleted.addListener(
    function onWindowLoad() { 
    chrome.tabs.executeScript(null, { 
     file: "externalfile.js" 
    }, function() {}); 
    }, { 
    urls: ["<all_urls>"], 
    types: ["main_frame"] 
    }, ["responseHeaders"]); 

externalfile.js

function warning_A() { 
    alert("warningA"); 
} 

function warning_B() { 
    alert("warningB"); 
} 

function warning_C() { 
    alert("warningC"); 
} 

///////////////// CALLING ALL TREE PREVIOUS FUNCTIONS////////////////////////////// 
function general_warning() { 
    warning_A(); 
    warning_B(); 
    warning_C(); 
} 

PS:我從本地主機加載我正在開發的擴展測試和使用谷歌瀏覽器版本:50

+1

'但沒有什麼作用.'不是很具描述性。你期望會發生什麼?控制檯中是否顯示任何錯誤?你不會嘗試在你的'onCompleted.addListener'回調中調用'general_warning'。 –

+1

你能否重新命名你的文件,以免錯誤? 「彈出」與背景頁面無關。因爲您不需要該HTML,請使用[第一個表示法](https://developer.chrome.com/extensions/background_pages#manifest),並根據需要重命名文件。 – Xan

+0

@ t.niese,這是我的'onCompleted.addListener'回調中的主要目標(調用'general_warning()')。換句話說,我想在'onCompleted.addListener'裏面捕獲'general_warnings()'。已經嘗試了幾種方法,但沒有成功。 –

回答

2

你忘了顯式調用general_warningexternalfile.js

function warning_A() { 
    alert("warningA"); 
} 

function warning_B() { 
    alert("warningB"); 
} 

function warning_C() { 
    alert("warningC"); 
} 

///////////////// CALLING ALL TREE PREVIOUS FUNCTIONS////////////////////////////// 
function general_warning() { 
    warning_A(); 
    warning_B(); 
    warning_C(); 
} 

general_warning(); 
相關問題