iOS上的window.open在同一浏览器选项卡上打开

时间:2017-06-05 18:05:08

标签: javascript jquery ios window.open

我创建了一个自定义社交分享栏,当您点击链接时,会打开一个javascript弹出窗口,显示每个社交网络的共享面板。

html:

<div class="js-popup" data-href="https://www.facebook.com/sharer.php?u=http://google.com">
  facebook
</div>

js功能

$(".js-popup").click(function() {
  var leftPosition, topPosition;
  leftPosition = window.screen.width / 2 - (566 / 2 + 10);
  topPosition = window.screen.height / 2 - (576 / 2 + 50);
  var url = $(this).data("href");
  window.open(
    url,
    "myWindow",
    "status = 1, height = 576, width = 566, resizable = 0,left=" +
      leftPosition +
      ",top=" +
      topPosition +
      ",screenX=" +
      leftPosition +
      ",screenY=" +
      topPosition +
      ",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no"
  );
});

在此处查看实时代码:https://codepen.io/vlrprbttst/pen/RgNZPq

这无处不在,但在iOS上发生了一件奇怪的事情。在iOS上,codepen工作正常,每次点击按钮,都会打开一个新选项卡。当我在其他地方实现它时,例如这里:http://valeriopierbattista.com/blog/understanding-git-and-github/(页面底部),每当我点击一个按钮时,页面就会在同一个打开的选项卡上加载。

例如:

  • 我点击facebook
  • 在浏览器中触发了facebook标签
  • 我没有关闭标签并返回页面
  • 我点击推特
  • 显然没有任何反应,但事实上,我在最后一次点击时打开的标签中打开了Twitter链接,因此用户认为该按钮已损坏。

在ipad和iphone上都会发生这种情况。为什么codepen按预期工作,而在另一个网站上没有?代码完全一样。我错过了什么?

0 个答案:

没有答案