我是一名心理学学生,我经常阅读论文。大学图书馆提供数据库的访问,但我每次都需要使用图书馆搜索引擎并登录。很烦人。我找到了一种避免跳转页面的方法。
方法如下:
我在Google Scholar中找到一篇论文后,在目标数据库地址末尾添加“ezp.lib.unimelb.edu.au”,然后它会重定向到图书馆登录页面。
例如,论文地址是:
http://www.sciencedirect.com/science/article/pii/S0006899315008550 http://www.sciencedirect.com/science/article/pii/S0006899315008550
我将其修改为:
http://www.sciencedirect.com http://www.sciencedirect.com.ezp.lib.unimelb.edu.au/科学/文章/pii/S000689315008550
我想创建一个 Chrome 扩展来通过点击完成这项工作(太懒了)。我尝试了几个小时但没有成功。
这是我所做的:
我的文件夹中有三个文件:
第一个文件:manifest.json
{
"manifest_version": 2,
"name": "Damn! Take me to the library!",
"description": "This extension automatically adds the 'ezp.lib.unimelb.edu.au' to the browser's address, allowing you to visit the databases bought by the library quickly",
"version": "1.0",
"browser_action": {
"default_icon": "unimelb.png",
"default_title": "Damn! Take me to the library!"
},
"background":{
"scripts":["popup.js"]
},
"permissions": [
"activeTab",
"tabs"
]
}
第二个文件:popup.js
function getCurrentTabUrlthenChangeIt(callback) {
var queryInfo = {
active: true,
currentWindow: true
};
chrome.tabs.query(queryInfo, function(tabs) {
var tab = tabs[0];
var url = tab.url;
callback(url);
var newurl = url.replace('/',"ezp.lib.unimelb.edu.au/");
window.location.replace(newurl);
});
}
第三个文件:unimelb.png
当我将此文件夹加载到 Chrome 中时,它不起作用。
第一次用JS,请问大家有什么建议吗?
Thanks!
即使不点击也可以执行此操作。您可以使用内容脚本 https://developer.chrome.com/extensions/content_scripts对于此 URL 模式,以便您的脚本被注入到此页面。然后您可以使用以下命令向后台脚本发送消息chrome.runtime.sendMessage()
您的听众将在此处创建您想要的链接,然后使用以下命令重新加载选项卡chrome.tabs.update()
与新的网址。
清单.json
{
"name": "My extension",
...
"content_scripts": [{
"matches": ["http://www.sciencedirect.com/science/article/pii/*"],
"js": ["content-script.js"]
}],
...
}
内容脚本.js
chrome.runtime.sendMessage({loadURL: true});
背景.js
chrome.runtime.onMessage.addListener(function(message, sender, response) {
if (message.loadURL) {
var newurl = sender.tab.url.replace("/", "ezp.lib.unimelb.edu.au/");
chrome.tabs.update(sender.tab.id, {url: newURL})
}
);
这是我在 StackOverflow 社区的第一个回答,希望对您有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)