Google chrome Chrome浏览器扩展:如何为特定页面的所有传出链接激活页面操作?
我想我的页面操作被激活的所有传出链接从一个特定的网页。我该怎么做呢?我看了这些文件,但没有用。任何提示都将不胜感激Google chrome Chrome浏览器扩展:如何为特定页面的所有传出链接激活页面操作?,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我想我的页面操作被激活的所有传出链接从一个特定的网页。我该怎么做呢?我看了这些文件,但没有用。任何提示都将不胜感激 Google Chrome API没有这样的API,但您想要的功能可以使用标准的Google Chrome Extensions API实现 你需要实施 您的内容脚本应该修改要处理的页面的DOM,并使用自定义javascript覆盖所有传出链接,这将完成一些工作并打开单击的链接 要修改link href,您可以执行以下操作: function processLink(element
function processLink(element, newHref) {
var a = document.createElement("a");
a.href = newHref;
a.textContent = element.textContent;
a.title = element.title;
element.parentNode.replaceChild(a, element);
}
更新1。
您可以生成如下内容,而不是newHref
a.href=“javascript:processOutgoingLinkClick(“+element.href+”)”
函数processOutgoingLinkClick
应包含对单击的实际处理
function processLink(element, newHref) {
var a = document.createElement("a");
a.href = newHref;
a.textContent = element.textContent;
a.title = element.title;
element.parentNode.replaceChild(a, element);
}
更新1。
您可以生成如下内容,而不是newHref
a.href=“javascript:processOutgoingLinkClick(“+element.href+”)”
函数
processOutgoingLinkClick
应该包含对点击的实际处理。只是好奇,为什么不使用您可以监听的OnUpdate onCreated。当用户单击页面上的链接时,它将进入并在OnUpdate内触发事件
因此,在background.html中,您可以执行以下操作:
chrome.tabs.onUpdated.addListener(function(tabId, info) {
if (info.status === 'loading')
console.log('Loading url ... ' + info.url)
});
对onCreated也是一样。然后在加载时,您可以决定如何处理页面操作。只是好奇,为什么不使用you can listen for onUpdate onCreated。当用户单击页面上的链接时,它将进入并在OnUpdate内触发事件 因此,在background.html中,您可以执行以下操作:
chrome.tabs.onUpdated.addListener(function(tabId, info) {
if (info.status === 'loading')
console.log('Loading url ... ' + info.url)
});
对onCreated也是一样。然后,在加载页面时,您可以决定如何处理页面操作。实际上,我想到了类似的方法。但是链接将如何向新选项卡发出信号,表明它应该激活页面操作?您可以添加函数
processOutgoingLinkClick()
并呈现a.href=“javascript:processOutgoingLinkClick('“+element.href+”)”函数processOutgoingLinkClick
应该包含实际的处理。啊,我现在明白了。然而。。。我是否能够告诉用户是否希望在同一页面、新选项卡或新窗口中打开该选项卡?不过,这将是一个小问题。谢谢嗯,你们至少有原始链接的目标属性,但我不确定这是否足够。实际上我想到了类似的东西。但是链接将如何向新选项卡发出信号,表明它应该激活页面操作?您可以添加函数processOutgoingLinkClick()
并呈现a.href=“javascript:processOutgoingLinkClick('“+element.href+”)”函数processOutgoingLinkClick
应该包含实际的处理。啊,我现在明白了。然而。。。我是否能够告诉用户是否希望在同一页面、新选项卡或新窗口中打开该选项卡?不过,这将是一个小问题。谢谢嗯,您至少有原始链接的目标属性,但我不确定这是否足够。