【问题标题】:Why can't history state be changed locally in JS? [duplicate]为什么不能在 JS 中本地更改历史状态? [复制]
【发布时间】:2016-12-04 08:35:11
【问题描述】:

我有一个友好的功能:

var crashBrowser  = function(){

  var total = "";                
  for( var i = 0; i < 100000; i++ ) {

      total = total + i.toString();
      history.pushState(0,0, total );

  } 

}

当站点在http:// 上运行时调用crashBrowser() 工作正常,但是为什么在URL 中使用file:// 在本地调用时会出现问题

我查看了JS错误,它说file://不支持。如果有我想知道原因。

【问题讨论】:

  • 好吧,这不是你的功能,你是从“crashxyz.com”网站之一获得的。
  • 我怀疑这是浏览器试图阻止对本地文件进行 XSS 攻击的情况。 stackoverflow.com/a/13348807/367865

标签: javascript


【解决方案1】:

历史编辑功能需要通过HTTP协议访问网站,这是出于许多安全原因。在本地打开文件将不起作用,因为它们是通过文件协议访问的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 2013-01-25
    • 2021-12-11
    • 1970-01-01
    • 2015-12-30
    • 2014-07-08
    • 2019-08-03
    相关资源
    最近更新 更多