javascript - 我怎样才能让这个 greasekit 脚本在新窗口中打开?

标签 javascript

这是一个特殊的 GreaseKit 脚本,可以成功更改页面上的某些 URL。太棒了,我爱写它的人。 但我想对其进行调整,以便单击该链接时在新窗口中打开

// the new base url
var base = ' https://www.example.co.uk/wine/order?ie=UTF8&asin=';
// all the links with className 'PrmryBtnMed'
var links  = document.getElementsByTagName('a');

for(var i = 0;i < links.length;i++){
// check each link for the 'asin' value
var result = /asin=([\d\w]+)/.exec(links[i].getAttribute('href'));
if(result){
    // make a new url using the 'base' and the 'asin' value
    links[i].setAttribute('href', base+result[1]);
}
}

我对如何解决这个问题的猜测:

有人可以告诉我如何实现这个吗?我的猜测是在某处添加 link.target="_blank",但我不确定具体位置。

最佳答案

在这里面:

if(result){
    // make a new url using the 'base' and the 'asin' value
    links[i].setAttribute('href', base+result[1]);
}

只需添加另一个属性:

links[i].setAttribute('target', '_blank');

关于javascript - 我怎样才能让这个 greasekit 脚本在新窗口中打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16699976/

相关文章:

javascript - 我可以用 javascript 更改正文 html 中特定区域的样式吗?

javascript - 如何使用排序将 undefined 或 null 推到数组的后面?

javascript - 代码输出一个数字而不是未定义的?

javascript - 当我尝试填充此文字模板时,为什么会出现“未定义”?

javascript - 如何在react中设置条件类?

javascript - 如何获取和替换多个 span 元素的值(来自标记字符串)并将它们存储在数组中

javascript - 如果选中则隐藏/显示 div(删除)

javascript - 在页面加载期间使用 pubnub 和 jquery/javascript 更新 servlet 的值

javascript - Angular : Is it possible to make Angular directives, 例如 NgIf 和 NgFor,仅在我想要的时候检查它们绑定(bind)的变量?

javascript - 如何在 mochawesome HTML 报告中查看 cy.log() 输出