【问题标题】:window.location.href redirects to blank pagewindow.location.href 重定向到空白页
【发布时间】:2016-10-20 13:12:57
【问题描述】:

我正在构建一个看起来像这样的网站 (http://brandonbarber.co/)。

我有以下代码用于检测对linkedin div的点击,然后它会重定向。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        $("#linkedin").click(function(){
            window.location.href = "https://www.linkedin.com/in/brandon-barber-79043593/";
            return false;
        });
    });
</script>
<body>
<div id="banner">
<div class="menubutton" id="home">Home</div>
<div class="menubutton" id="circuitry">Circuitry</div>
<div class="menubutton" id="programming">Programming</div>
<div class="menubutton" id="stackoverflow">Stackoverflow</div>
<div class="menubutton" id="linkedin">Linkin</div>
</div>

但是当我点击 div 时,它会重定向到一个空白页面。

我错过了什么?

【问题讨论】:

  • 你为什么不说location.href = ...?使用$(location).attr("href",...) 是一种奇怪的方法。 (同样location 对象有一个属性 href,而不是一个属性。)另外,你为什么不使用(样式化的)锚元素?您的页面不适用于不能(或不)使用鼠标或其他指针设备的用户。
  • @nnnnnn 它也不起作用。同样的事情,一个空白页。
  • 试试 location.assign("xx");或者只是位置=“xx”;无论哪种方式都适合你
  • 您网站上的问题是 框架 - 检查开发控制台:"Refused to display 'https://www.linkedin.com/in/brandon-barber-79043593/' in a frame because it set 'X-Frame-Options' to 'sameorigin'."总是检查开发控制台是否有错误行为出乎意料。)
  • 不推荐使用框架。这是 2016 年而不是 1996 年。在这个时代不需要使用它们

标签: javascript jquery html redirect window.location


【解决方案1】:

这实际上是合法代码。

我在我的服务器上完全复制了它,它可以工作!

http://lespointscom.com/a/misc/demo/2016_06_18/jquery.html

也许你的互联网连接...

nnnnnn 是对的,这是你的框架!

来自 Mozilla:

X-Frame-Options 拒绝加载:https://www.linkedin.com/in/brandon-barber-79043593/ 不允许跨域框架。

【讨论】:

  • x-frames 怎么会自动放入?
【解决方案2】:

出现此问题是因为您的整个网站由框架/iframe 组成,因此当您使用 window.location.href = "https://www.linkedin.com/in/brandon-barber-79043593/" 时,您会提示浏览器在 iframe 中打开该页面源允许,在本例中为linkedin。 Refused to display 'https://www.linkedin.com/in/brandon-barber-79043593/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

要解决此问题,您需要使用 window.open 而不是 window.location,例如: window.open('https://www.linkedin.com/in/brandon-barber-79043593/', '_blank');

附带说明,我建议不要 iframe 页面的源内容,而是为您的域设置指向您 IP 的 CNAME,因为 IP 同时暴露在 DOM 中。

【讨论】:

    猜你喜欢
    • 2019-12-20
    • 2020-02-10
    • 2016-03-25
    • 2018-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    相关资源
    最近更新 更多