【问题标题】:JavaScript Chrome ProblemJavaScript Chrome 问题
【发布时间】:2011-09-10 18:47:03
【问题描述】:

我有这个脚本:

<html>
<head>
<script type="text/javascript">

function init(){

var extText = window.frames.messageTxt.document.body.lastChild.lastChild.data;
extText = extText.replace(/[\r\n]/g," ");
document.forms[0].nMessage.value = extText;
}

window.onload=init;

</script>
</head>
<body>
<iframe name='messageTxt' src='lineData.txt' style='display:none'></iframe>
<form>
<textarea name='nMessage'></textarea>
</form>
</body>
</html>

此代码打开一个文件(现在是 lineData.txt)并将其放在文本区域中。此代码适用于 Firefox 和 IE,但不适用于 Chrome。

问题出在

window.frames.messageTxt.document.body.lastChild.lastChild.data;

控制台在那一行告诉我:

未捕获的类型错误:无法读取未定义的属性“正文”

如何才能让它在 Chrome 上运行?

【问题讨论】:

  • 它在 Chrome12 中适用于我。你能建立一个不适合你的例子吗?

标签: javascript google-chrome typeerror uncaught-exception


【解决方案1】:

如果您在本地进行测试(例如 file://C:/.../test.html),您将无法在 Chrome 中正确访问框架/iframe。

【讨论】:

  • @Diego Stamigni Chrome 不会将所有本地文件视为来自同一个域;相反,它认为它们都截然不同。因此,默认的安全策略不允许访问。如果您想这样做,您可以使用命令行选项“--allow-file-access-from-files”启动 Chrome。在使用该标志启动新进程之前,您必须确保完全停止所有 Chrome 进程。
猜你喜欢
  • 2010-12-30
  • 1970-01-01
  • 1970-01-01
  • 2013-03-19
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 2017-09-17
相关资源
最近更新 更多