【问题标题】:How to override target="_blank" behavior如何覆盖 target="_blank" 行为
【发布时间】:2020-05-21 21:39:54
【问题描述】:

我创建了一个简单的自定义 Google 地图,其中包含标记上的链接。问题是所有链接都有target="_blank",因此它们在新选项卡上打开。我需要在同一个窗口/选项卡上打开链接。我试过这段代码$('iframe a[target="_blank"]').removeAttr('target');,但似乎谷歌API在页面加载后重新插入target="_blank"。有没有办法防止为该 iframe 禁用 target="_blank"?谢谢!

【问题讨论】:

  • 在创建链接时可以手动设置目标吗?
  • 这给了你什么? console.log($('iframe a').length)
  • 我认为 iframe 会加载外部源?问题是所谓的同源策略,您无法将 javascript 绑定到该 iframe 中的元素。

标签: javascript jquery href


【解决方案1】:

您可以使用event.preventDefault() 自动停止浏览器跟随链接(从而打开一个新标签),但我不确定这将如何覆盖 iframe 中的事件

<a href="https://google.com" target="_blank">click me</a>
$('a').click(function(event) {

  // stop the browser automatically opening a new tab
  event.preventDefault();

  // do whatever you want with the url
  window.location = event.target.href

});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多