【发布时间】:2023-04-02 17:03:01
【问题描述】:
我有一个使用 jQuery 使用 .load() 刷新的 div。一旦它被刷新,新的内容就会出现在 div 中。然而,新内容里面有 jQuery,它不工作,即使当内容加载到它自己的页面上时它确实工作。
div 也在父窗口中,但是刷新 div 的 jQuery 代码在 iframe 中。代码调用top.document(父窗口)刷新iframe外的div。
我将在这里展示完整的代码:
这是名为 test.php 的主页。它只有一个简单的 iframe,下面是当代码告诉它在 iframe 中时刷新的 div。
<html>
<head>
</head>
<body >
<iframe src="test2.php" width="400" height="400" frameborder="3"></iframe>
<div id="target">This text will be replaced.</div>
</body>
</html>
这是 iframe 内的 test2.php,它只是 iframe 的开始页面,因此您可以方便地按下一个链接,该链接将激活下一页,当页面加载时打开 jQuery 代码。
<html>
<head>
</head>
<body>
<a href="test3.php">Click Me, if the div below reloads with the jqery content it worked!</a>
</body>
</html>
这是页面 test3.php,其中包含刷新 iframe 外的 div 的 jQuery 代码。 .load() 有效,但 .get() 无效。我尝试使用 .get() 和 .getscript() 调用 jQuery,但这确实有效。我还尝试将它们包装在 .bind() .on() .live() 中,但是如果您知道以您认为可以使用的方式使用它们的方式,请随时发布。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$('#target', top.document).load("test4.php");
$('#target', top.document).get('testb.js');
</script>
</head>
<body>
Sent
</body>
</html>
这是test4.php,是刷新后加载到div中的新内容。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<p>....Polo</p>
<script type="text/javascript" src="testb.js"></script>
现在这是我尝试在 div 中实现的 jQuery,它是 test3.php 和 test4.php 页面上的 testb.js 中的内容。我本来打算写更复杂的代码,但由于根本没有 jQuery 工作,所以我决定简化它,直到找出 jQuery 不能工作的原因为止。
var myvariable = "Marco";
$("p").prepend(myvariable);
非常感谢您提供的任何帮助!
【问题讨论】:
标签: jquery ajax iframe html refresh