弹出式窗口只能在一个浏览器上运行,而不能在另一个浏览器上运行

安德鲁

为什么弹出式窗口可以在一个浏览器上运行(在firefox,firefox开发人员版上运行),而不在另一个浏览器上运行(在Internet Explorer中,而不是在Chrome上运行)?在某些情况下,该弹出窗口将在浏览器上的网站的某些页面上起作用,但是转到该站点上的另一页面,则该弹出窗口将不起作用。弹出窗口位于页脚中

<a href="#" onclick="PopupCenter('/terms_conditions.aspx','','550','700')">Terms
                        &amp; Conditions</a>

有任何想法吗 ?

编辑弹出功能:

<div class="footerTwoBox">
                    <ul class="footTwoLinks" style="width: 500px; float: left;">
                        <li><a href="/voucher">Your Voucher</a></li>
                        <li><a href="#" onclick="PopupCenter('/privacy_policy.aspx','','550','700')">Privacy
                        Policy</a></li>
                        <li><a href="<%=rootUrl %>/customer-care">Contact Us</a></li>
                        <li><a href="/press-room">Press Room</a></li>
                        <li><a href="#" onclick="PopupCenter('/terms_conditions.aspx','','550','700')">Terms
                        & Conditions</a></li>
                        <li><a href="/partners">Partners</a></li>
                        <li><a href="/blog">Blog</a></li>
                        <li><a href="/careers">Careers</a></li>
                        <li><a href="/customer-care/faq" target="_blank">FAQs</a></li>

                    </ul>

当您单击弹出窗口时,它只是将您带到屏幕顶部-没有弹出窗口。如果我去Firefox,我将在屏幕中间看到弹出窗口……这一定是浏览器问题,但我无法识别它。

弹出功能

function PopupCenter(pageURL, title, w, h) {
            //alert(w + "  " + h);
            var left = (screen.width / 2) - (w / 2);
            var top = (screen.height / 2) - (h / 2);
            var targetWin = window.open(pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
        }
用户名

最好返回false您的onclick处理程序。链接通常会指向您要显示的页面,而事件处理程序中会调用弹出脚本。当您返回false函数时,将阻止浏览器跟踪链接。

这可能会或可能不会影响浏览器的行为,具体取决于您使用的软件。有一个很好的写了这个话题的这里,是涵盖了大部分的陷阱。

请尝试以下代码:

函数PopupCenter(pageURL,标题,w,h){
  左=(screen.width / 2)-(w / 2);
  顶部=(screen.height / 2)-(h / 2);
  targetWin = window.open(pageURL,标题,'工具栏=否,位置=否,目录=否,状态=否,菜单栏=否,滚动条=是,可调整大小=否,复制历史=否,宽度='+ w +' ,height ='+ h +',top ='+ top +',left ='+ left);

  如果(window.focus){
    targetWin.focus();
  }

  返回false;
}

然后,您可以像这样调用它(注意其他return关键字):

<a href="#" onclick="return PopupCenter('terms_conditions.aspx', '', '550', '700')">Terms &amp; Conditions</a>

完整的演示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
  <title>Popup Demo</title>
  <meta http-equiv="content-type" content="text/html;charset=utf-8" />

  <script type="text/javascript">
    <!--
    function PopupCenter(pageURL, title, w, h) {
      left = (screen.width / 2) - (w / 2);
      top = (screen.height / 2) - (h / 2);
      targetWin = window.open(pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);

      if (window.focus) {
        targetWin.focus();
      }

      return false;
    }
    // -->
  </script>
</head>

<body>
  <div>
    <a href="#" onclick="return PopupCenter('terms_conditions.aspx', '', '550', '700')">Terms &amp; Conditions</a>
  </div>
</body>

</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CasperJS可以访问一个系统上的浏览器元素,但不能访问另一个系统上的浏览器元素

来自分类Dev

运行角测试的业力只能在Chrome浏览器上运行,而不能在PhantomJs上运行

来自分类Dev

OpenCL演示程序只能在一个系统上运行,而不能在另一个非常相似的VirtualBox系统上运行

来自分类Dev

Codeigniter在同一浏览器上注销另一个应用程序

来自分类Dev

从另一个窗口关闭所有子窗口的Windows浏览器

来自分类Dev

如何使用Selenium WebDriver在同一浏览器的另一个选项卡上打开URL?

来自分类Dev

PHP可在命令行上运行,但不能在浏览器中运行

来自分类Dev

有什么方法可以在 Javascript 中的某个事件上重新加载/刷新在另一个浏览器中打开的另一个 URL

来自分类Dev

Cocos2d-js:当从一个应用程序迁移到另一个应用程序时,对在浏览器上运行的cocos2d-js应用程序产生影响

来自分类Dev

Cocos2d-js:当从一个应用程序迁移到另一个应用程序时,对在浏览器上运行的cocos2d-js应用程序产生影响

来自分类Dev

一个站点上的Java servlet可以代替浏览器登录到另一个站点上吗?

来自分类Dev

从一个地方在安装在操作系统上的所有浏览器中运行 JavaScript 脚本

来自分类Dev

如何在浏览器内部未运行的另一个JavaScript文件中包含一个JavaScript文件?

来自分类Dev

将Web浏览器控件对象分配给另一个Web浏览器控件

来自分类Dev

为什么此代码只能在一个平台上运行而不能在另一个平台上运行?

来自分类Dev

为什么此代码只能在一个平台上运行而不能在另一个平台上运行?

来自分类Dev

为什么此代码只能在一个平台上运行而不能在另一个平台上运行?

来自分类Dev

为什么我的animate.css动画只能在Chrome浏览器中运行,而不能在Firefox中运行?

来自分类Dev

有什么办法可以将Dart变量传递到另一个浏览器窗口?

来自分类Dev

当浏览器窗口较大时,固定位置的元素与另一个元素的距离相同

来自分类Dev

调整浏览器窗口大小后,有什么方法可以使网站转到另一个页面?

来自分类Dev

使用 iText 从另一个浏览器选项卡或窗口访问 pdf 书签

来自分类Dev

jQuery函数可在网络浏览器上运行,但不能在android设备上运行

来自分类Dev

Ionic应用程序能够在浏览器上运行,但不能在Ionic DevApp上运行

来自分类Dev

php-在浏览器中显示png / image可以在localhost上运行,但不能在aws上运行

来自分类Dev

为什么我的jQuery代码可以在jsfiddle上运行,但不能在Dreamweaver或浏览器上运行?

来自分类Dev

地理位置代码可在桌面浏览器上运行,但不能在移动设备上运行

来自分类Dev

在Laravel 5.2.37中将信息从一个浏览器发送到另一个浏览器

来自分类Dev

如何将所有扩展程序从一个基于Chromium的浏览器导出/备份/迁移到另一个浏览器?

Related 相关文章

  1. 1

    CasperJS可以访问一个系统上的浏览器元素,但不能访问另一个系统上的浏览器元素

  2. 2

    运行角测试的业力只能在Chrome浏览器上运行,而不能在PhantomJs上运行

  3. 3

    OpenCL演示程序只能在一个系统上运行,而不能在另一个非常相似的VirtualBox系统上运行

  4. 4

    Codeigniter在同一浏览器上注销另一个应用程序

  5. 5

    从另一个窗口关闭所有子窗口的Windows浏览器

  6. 6

    如何使用Selenium WebDriver在同一浏览器的另一个选项卡上打开URL?

  7. 7

    PHP可在命令行上运行,但不能在浏览器中运行

  8. 8

    有什么方法可以在 Javascript 中的某个事件上重新加载/刷新在另一个浏览器中打开的另一个 URL

  9. 9

    Cocos2d-js:当从一个应用程序迁移到另一个应用程序时,对在浏览器上运行的cocos2d-js应用程序产生影响

  10. 10

    Cocos2d-js:当从一个应用程序迁移到另一个应用程序时,对在浏览器上运行的cocos2d-js应用程序产生影响

  11. 11

    一个站点上的Java servlet可以代替浏览器登录到另一个站点上吗?

  12. 12

    从一个地方在安装在操作系统上的所有浏览器中运行 JavaScript 脚本

  13. 13

    如何在浏览器内部未运行的另一个JavaScript文件中包含一个JavaScript文件?

  14. 14

    将Web浏览器控件对象分配给另一个Web浏览器控件

  15. 15

    为什么此代码只能在一个平台上运行而不能在另一个平台上运行?

  16. 16

    为什么此代码只能在一个平台上运行而不能在另一个平台上运行?

  17. 17

    为什么此代码只能在一个平台上运行而不能在另一个平台上运行?

  18. 18

    为什么我的animate.css动画只能在Chrome浏览器中运行,而不能在Firefox中运行?

  19. 19

    有什么办法可以将Dart变量传递到另一个浏览器窗口?

  20. 20

    当浏览器窗口较大时,固定位置的元素与另一个元素的距离相同

  21. 21

    调整浏览器窗口大小后,有什么方法可以使网站转到另一个页面?

  22. 22

    使用 iText 从另一个浏览器选项卡或窗口访问 pdf 书签

  23. 23

    jQuery函数可在网络浏览器上运行,但不能在android设备上运行

  24. 24

    Ionic应用程序能够在浏览器上运行,但不能在Ionic DevApp上运行

  25. 25

    php-在浏览器中显示png / image可以在localhost上运行,但不能在aws上运行

  26. 26

    为什么我的jQuery代码可以在jsfiddle上运行,但不能在Dreamweaver或浏览器上运行?

  27. 27

    地理位置代码可在桌面浏览器上运行,但不能在移动设备上运行

  28. 28

    在Laravel 5.2.37中将信息从一个浏览器发送到另一个浏览器

  29. 29

    如何将所有扩展程序从一个基于Chromium的浏览器导出/备份/迁移到另一个浏览器?

热门标签

归档