我正在用兩種不同的內容腳本構建Safari擴展。一個腳本需要注入所有http頁面(但不是https頁面)。另一個只注入到google.com網頁,而不考慮方案。內容腳本注入的多個白名單/黑名單?
爲了實現這一點,我已經設置Extension Website Access
到:
這應該意味着在一個較高的水平,在我的擴展內容腳本應該能夠訪問的所有頁面。
爲了獲得更精細的控制,我隨後將內容腳本注入到符合我的模式的URL中。
App = {
content: {
// Inject into unsecure pages.
whitelist: ['http://*/*'],
// But not into secure pages.
blackList: ['https://*/*'],
loc: safari.extension.baseURI + 'data/content.js'
},
results: {
// Inject this script into all google.com pages
whiteList: ['http://*.google.com/*', 'https://*.google.com/*'],
// Surely I don't need a blacklist if I specify a whitelist?
blacklist: undefined,
loc: safari.extension.baseURI + 'data/results.js',
}
};
// Inject the first content script.
safari.extension.addContentScriptFromURL(App.content.loc,
App.content.whitelist, App.content.blacklist, false);
// Inject the second content script.
safari.extension.addContentStyleSheetFromURL(App.results.cssLoc,
App.results.whitelist, App.results.blacklist, false);
問題是兩個腳本都被注入到所有頁面中。就好像我的白人和黑名單無所作爲。我究竟做錯了什麼?
我不知道這是否是問題的根源,但是您不應該在第一次注入命令中同時需要白名單和黑名單,因爲這兩套完全平鋪空間。 – canisbos