gpt4 book ai didi

javascript - 为什么 document.getElementById(id).contentWindow 不适用于 Chrome 中的本地 htm 文件?

转载 作者:行者123 更新时间:2023-12-04 18:06:04 27 4
gpt4 key购买 nike

我一直试图在我的计算机上将一些页面编辑为本地 htm 文件,但我遇到了这个问题,当父页面和 iframe 中的页面是本地页面时,使用 contentWindow 属性的函数不起作用文件。上传所有页面后,完全相同的代码可以正常工作,但不能作为本地文件。我只在 Chrome 和 Opera 中遇到过这个问题。在 Firefox 和 Safari 甚至 Internet Explorer 中,contentWindow 可以很好地处理本地文件。

这很烦人,因为我在我正在处理的页面中有一个动态的 iframe 调整大小,我不想每次我想在 Chrome 中测试它们时都重新上传所有页面,这是我的主要浏览器。

Chrome(和 Opera)中是否存在导致此问题的某种安全设置,如果是,是否可以将其禁用?

代码就是:

function resizeIframe(iframeName) {

document.getElementById(iframeName).style.height = '1000px';

newHeight = document.getElementById(iframeName).contentWindow.document.body.scrollHeight;

setTimeout(function () {
document.getElementById(iframeName).style.height = newHeight + 'px';
}, 10);
}

最佳答案

事实证明,它安全的东西,但没有办法简单地从设置菜单中将其关闭。关闭它的唯一方法(据我所知)(在 Windows 中)是通过键入文件路径并在命令中添加 --allow-file-access-from-files 从命令提示符窗口打开 Chrome线。这也适用于 Opera。

不幸的是,这不会永久关闭它,因此您每次要测试使用 contentWindow 属性的页面时都必须以这种方式打开浏览器。当我使用 Chrome 时,这很好用,因为我一直在我的计算机上打开它,但当我想在 Opera 中测试某些东西时,它有点烦人。也许其他人会发布使其永久化的方法,但现在必须这样做。

来源:

Is it likely that future releases of Chrome support contentWindow/contentDocument when iFrame loads a local html file from local html file?

http://www.chrome-allow-file-access-from-file.com/

关于javascript - 为什么 document.getElementById(id).contentWindow 不适用于 Chrome 中的本地 htm 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26582906/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com