Javascript Java脚本的动态加载

Javascript Java脚本的动态加载,javascript,ajax,jquery,unobtrusive-javascript,Javascript,Ajax,Jquery,Unobtrusive Javascript,我目前正在使用JQuery构建一个Ajax web应用程序,它允许用户在同一区域多次打开同一页面。尽管允许这样做,但它往往会导致与DOM和唯一ID的冲突 因此,我创建了一个系统,在这个系统中,如果您愿意,可以在PHP中使用唯一id对javascript进行预编程,然后再发送出去。然后将其作为.php文件发送给用户 代码与此类似: 用户希望加载内容区域中的页面,该内容区域向服务器发送AJAX请求,其中该内容区域的ID将成为唯一ID。服务器将发回类似myscript.php的页面,该页面包含以下内容

我目前正在使用JQuery构建一个Ajax web应用程序,它允许用户在同一区域多次打开同一页面。尽管允许这样做,但它往往会导致与DOM和唯一ID的冲突

因此,我创建了一个系统,在这个系统中,如果您愿意,可以在PHP中使用唯一id对javascript进行预编程,然后再发送出去。然后将其作为.php文件发送给用户

代码与此类似: 用户希望加载内容区域中的页面,该内容区域向服务器发送AJAX请求,其中该内容区域的ID将成为唯一ID。服务器将发回类似myscript.php的页面,该页面包含以下内容:

    <script>
$(function() {
    var unique_id="<?php echo $unique_id; ?>"

    var new_div=$("<div id='content" + unique_id + "'>");
    });
    </script>

我想知道这是一个坏主意吗?有没有其他替代方法?

您希望添加一个php头,以便浏览器知道它是一个JavaScript文件而不是php

<?php
header('Content-type: text/javascript');
?>
<script>
$(function() {
 var unique_id="<?php echo $unique_id; ?>"
 var new_div=$("<div id='content" + unique_id + "'>");
 });
</script>
然后你可以使用:

<script type="text/javascript" src="myscript.php">

您可以预先渲染站点的整个大部分,然后使用一些JS映射器/加载器动态加载脚本并执行自定义代码

您可以创建jQuery插件来处理功能的不同部分,并在需要时加载它们。 在JS加载程序上,有一个完整的路由部分,您可以使用类似的内容


最好尽可能使JS资源保持静态,并通过对服务器端的AJAX调用处理动态内容。希望这有帮助

使用每帧唯一ID保存文档可能是一个更简单的解决方案仅供参考JavaScript是单一的;这是一种编程语言的名称。听起来可能是个不错的主意,但事实并非如此,因为这意味着您的脚本将禁用所有缓存。我想避免使用iFrame如果您不想使用iFrame,这可能是您能做的最好的事。你仍然需要小心-动态加载的页面不能使用Javascript引用文档或窗口,并期望它们只引用自己。谢谢,但这不是我真正想问的。回答你的问题,不,这还不错。唯一的问题是它增加了加载时间。