JS小书签可在Google翻译中打开网站

时间:2018-11-13 04:07:53

标签: javascript redirect hyperlink bookmarklet

我想制作一个JavaScript小书签,该小书签将在google translation中打开一个页面。因此,如果我单击某个元素或href,它将在Google翻译中将其打开。也可以通过再次单击书签来禁用它。

我写了一些我认为应该起作用的东西,它将为每个“ a”元素(不确定它是否可以与其他链接一起使用)提供一个event_listener,单击该事件将停止链接的默认执行并存储href变量中,这样我就可以在Google Translate的开头中实现它,然后再删除该event_listener(尚未完成此操作)。 问题在于它会警告每个链接(只是为了测试我是否知道了链接),但是它显示为未定义。

javascript: 
var A = document.getElementsByTagName('A'); 
var link = null
for(var i=0;i<A.length;i++){
  A[i].addEventListener("click", getLink(i)); 
  A[i].addEventListener("click", stopDirect());
}
function stopDirect() {
  event.preventDefault();
}
function getLink(e) {
  link = e.href; 
  alert (link);
}

这是在Google翻译中打开链接的代码

window.open("https://translate.google.com/translate?hl=en&sl=es&tl=en&u=" + thaturl+ "&anno=2");

2 个答案:

答案 0 :(得分:0)

也许您可以尝试这个。

<a href="javascript:;" onclick="redirect('your_url_here')">Click Me!</a>

<script>
  function redirect(url) {
    window.open(url, "_blank")
  }
</script>

您可以在这里参考:https://www.w3schools.com/jsref/met_win_open.asp

答案 1 :(得分:0)

因此,请听文档上的click事件并读取目标路径。...

document.body.addEventListener("click", function (event) {
  console.log()
  if (event.target.tagName === "A" && event.shiftKey) {
    console.log(event.target.href); //window.open(....)
    event.preventDefault();
    return false;
  }
})
<a href="http://www.example.com">test 1</a>
<a href="http://www.stackoverflow.com">test 2</a>