iframe 中的 JavaScript 不起作用

标签 javascript html iframe frame

我有一个带有 iframe 的 jsp。我正在尝试在 iframe 中加载另一个 jsp:

 scripts and links ...
<body>
<iframe src="/contextmenu">
</iframe>

<div style="float:left;">
    <div id="StudentTableContainer" style="width:70%;"></div>
</div>
</body>
</html>

这是上下文菜单:

 scripts and links ...
    <body>
    <div data-role="content">
        <ul data-role="listview" id="listView">
            <li><a href="index.html">Inbox <span class="ui-li-count">12</span></a></li>
            ...
        </ul>
    </div>
    </body>

想法是将位于第一个 jsp 中的 javascript 和位于 iframe 中页面中的 javascript 分开。我无法在一页(没有 iframe)中合并 javascript,因为它会出错和页面崩溃。但不幸的是,iframe 中的 javascript 根本不起作用。这段代码在<head>从不调用警报:

<script>
    jQuery(document).ready(function () {
        alert(1);
        $('#listView').listview();
    });
</script>

我不确定我是否可以像这样加载另一个 js 或 css 文件:

 <script type="text/javascript"
            src="<c:url value="/resources/js/jquery.mobile-1.2.1/jquery.mobile-1.2.1.js"/>"></script>

我对网络和 javascript 也很陌生,如果这个问题很愚蠢,我很抱歉。我将不胜感激任何帮助。

最佳答案

这是<script>吗?标记对了吗?

<script type="text/javascript"
    src="<c:url value="/resources/js/jquery.mobile-1.2.1/jquery.mobile-1.2.1.js"/>"></script>

c:部分意味着这是一个 ColdFusion 模板或类似的东西?

无论如何,这不是浏览器看到的。无论此模板代码生成 是浏览器看到的内容,因此这就是您需要查看的内容。正常 <script>浏览器中的标记将如下所示:

<script src="/resources/js/jquery.mobile-1.2.1/jquery.mobile-1.2.1.js">
</script>

(您不需要 type="text/javascript" 。)

您是否熟悉任何浏览器中的开发者工具?是时候开始使用它们了。在 Chrome 中加载您的页面并打开开发人员工具(Windows 中的 F12,我认为在其他操作系统上是 Ctrl+Shift+I,或者您可以在 Chrome 菜单中找到它)。您可能会在开发人员工具的控制台面板中看到一条错误消息。 (请务必在打开工具后重新加载页面。)

要进一步调试,请更改此代码:

<script>
    jQuery(document).ready(function () {
        alert(1);
        $('#listView').listview();
    });
</script>

到:

<script>
    debugger;
    jQuery(document).ready(function () {
        debugger;
        $('#listView').listview();
    });
</script>

并在打开开发者工具的情况下重新加载页面。

当它停在第一个 debugger 时声明,将鼠标悬停在名称 jQuery 上在代码中。它显示它的定义还是说它是 undefined ?这会告诉您是否正在加载 jQuery。

如果它甚至没有到达第一个 debugger语句,那么它就不会运行这个 <script>出于某种原因。但在那种情况下,开发人员工具应该会向您显示某种错误消息。

在执行此操作时,请花一些时间真正熟悉开发人员工具。我向你保证,它会成倍提高你的生产力。这是一个 introduction to the DevTools .

关于iframe 中的 JavaScript 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17455965/

相关文章:

javascript - select2 4.0.0 无法选择具有远程数据的项目

javascript - 尝试将类添加到 <div> - javascript

Javascript:将数组转换为对象

javascript - 使用 JQuery 删除禁用的属性

javascript - 在不刷新 iframe 的情况下将内容添加到 div

javascript - 如何将 IST 时区对象添加到 Moment.js

javascript - 将文件图像保存到本地存储 HTML

html - 如何制作一个固定宽度但不固定高度的表格?

javascript - 如何从 iframe 中调用 Angular Controller 函数

javascript - 防止页面跳转到iframe