javascript函数仅在ie中未定义

标签 javascript html internet-explorer

我有一个 site.html 页面,其中包含 3 个 .js 文件,脚本运行,准备环境并从 .xml 文件中提取另一个 m.html 文件,并使用以下代码:

var dd=document.open("text/html","replace");
dd.write(htmlData);
dd.close();

site.html 看起来像这样:

    <html>
    <head>
     <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
     <script type="text/javascript" src="file1.js"></script>
     <script type="text/javascript" src="file2.js"></script>
     <script type="text/javascript" src="file3.js"></script>
     <link rel="stylesheet" type="text/css" href="file4.css">
    </head>
    <body>
    _
    </body>
    </html>

生成的 m.html 如下所示:

<html>
<head>
   <meta name="viewport" content="user-scalable=no">
   <link rel="stylesheet" type="text/css" href="file4.css">
   <script type="text/javascript" src="uag.js"></script>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head> 
<body id="homebody">
<img class="background" src="a.jpg">
<div id="homebuttons">
<table>
<tr>
<td>
<a href="javascript:alert(typeof PL_open)"><img src="b.png"></a>
</td>

<td class="spacer">
</td>
<td>
<a href="javascript:PL_open('activate:a')"><img src="c.png"></a>
</td>
</tr>
<tr class="spacer">
</tr>
<tr>

<td>
<a href="javascript:PL_open('activate:b')"><img src="d.png"></a>
</td>
<td class="spacer">
</td>
<td>
<a href="javascript:PL_open('activate:c')"><img src="e.png"></a>
</td>
</tr>
</table>

</div>
</body>
</html>

显示正确,但当我按下其中一个按钮(链接)时,我收到错误消息: 预期对象:JScript - 窗口脚本 block ,第 1 行,字符 1。

如果我点击第一个链接,我会在警告框中看到文本“未定义”。

PL_open() js 函数在 file1.js 中定义,并根据测试定义,直到 m.html 加载到屏幕。

相同的代码在 chrome 和 safary 中完美运行。

任何人都可以指出或指导我解决问题吗?我将不胜感激任何帮助!我的大脑已经融化了:) 非常感谢!

编辑:

感谢您的评论!!我在发布问题时错误地删除了引号,所以问题不是“缺少单引号”。

我做了一个测试,在m.html中包含了file1.js。在这种情况下,该函数运行但正如预期的那样进入了无限循环。所以我认为 file.js 和 uag.js 没问题。如有必要,我可以发布它们。以及关于使用 ajax ......你能解释更多吗?我想试试。

最佳答案

所以我正在使用 ajax 来更改文档的主体(而不是 document.open),现在它可以工作了:) 谢谢 d4rkpr1nc3 的建议! 我仍然不确定为什么 ie 不识别该功能,但这个解决方案很好。

关于javascript函数仅在ie中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10228643/

相关文章:

javascript - JQuery $(document).ready(function () 不工作

javascript - 将json数据放入canvas html5

html - 我的表在 IE 上的奇怪行为

ajax - IE 中的动画 gif 在多次回发时停止

javascript - Google Analytics - 下载链接事件跟踪

javascript - 如何通过 Electron 执行操作系统粘贴操作

javascript - 在 onclick 事件的上下文中, "this"是如何工作的? (JavaScript)

python - Django 创建帖子

jquery - Ie7/Ie8 中的 Jquery UI 对话框出现错误

c# - 使用脚本管理器显示弹出窗口