[英]Chrome Extension:redirect the current url with specific rules
我是一名研究員,我想通過我的大學訪問學術論文。 我發現我可以修改 URL 來實現這一點。 規則正在替換“。” 使用“-”並將“.proxy.findit.dtu.dk”添加到域中。
例如:來自: https://www.sciencedirect.com/science/article/pii/S0925838811021414
至: https://www-sciencedirect-com.proxy.findit.dtu.dk/science/article/pii/S0925838811021414
受這篇文章的啟發,我將代碼修改為:
第一個文件:manifest.json
{ "manifest_version": 2, "name": "Redirect via DTU", "description": "This extension automatically replace '.' with '-' and adds the '.findit.dtu.dk' to the browser's address, allowing you to visit the databases bought by the library quickly", "version": "1.0", "browser_action": { "default_icon": "DTU.png", "default_title": "Redirect via DTU," }: "background":{ "scripts".["background,js"] }: "permissions", [ "activeTab", "tabs" ] }
第二個文件:popup.js
// Change the url to library when on click var l=location; l.href=l.href.replace(/\./g, "-") l.href=l.origin+l.href.replace(l.origin, '.proxy.findit.dtu.dk');
第三個文件:background.js
//Wait for click chrome.browserAction.onClicked.addListener(function(tab) { chrome.tabs.executeScript(null, { "file": "popup.js" }, function(){ "popup.js"; console.log("Script Executed..."); }); })
我包含的最后一個文件是一個圖形:DTU.png。
但是,它不起作用。 popup.js 有一些問題。 我不能替換“。” 使用“-”並同時將“.proxy.findit.dtu.dk”添加到域中。 只有添加有效。 運行示例后得到的是: https://www.sciencedirect.com.proxy.findit.dtu.dk/science/article/abs/pii/S0925838811021414
我是 JavaScript 的新手。 有什么建議可以解決這個問題嗎?
干杯!
分配給location.href
很棘手,因為它會導致導航,因此您應該在一個操作中完成:
location.href = 'https://' +
location.hostname.replace(/\./g, '-') +
'.proxy.findit.dtu.dk' +
location.href.slice(location.origin.length);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.