我目前正在使用JQuery构建一个Ajax Web应用程序,允许用户在同一区域中多次打开相同的页面。通过允许它,虽然它往往会导致与DOM和“唯一ID”的冲突。
因此,我创建了一个系统,如果你喜欢在发送出去之前在PHP中使用唯一的id,那么javascript是预编程的。然后将其作为.php文件发送给用户。
代码与此类似: 用户希望在content_area中加载页面,该内容区域向服务器发送AJAX请求,其中该content_area的ID成为唯一ID。服务器发回一个类似“myscript.php”的页面,其中包含以下内容:
<script>
$(function() {
var unique_id="<?php echo $unique_id; ?>"
var new_div=$("<div id='content" + unique_id + "'>");
});
</script>
我想知道这是一个坏主意,还有其他选择吗?
答案 0 :(得分:0)
您可以预先渲染网站的整个(大)部分,然后使用一些JS mapper / loader来动态加载脚本并执行自定义代码。
您可以创建jQuery插件来处理功能的不同部分,并在需要时加载它们。 在JS Loaders上有jster.net的整个部分。对于路由,您可以使用类似Davis Mapper的内容。
最好让JS资源尽可能保持静态,并通过AJAX调用处理动态内容到服务器端。希望这有帮助。 :)
答案 1 :(得分:-2)
你想添加一个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">