1

我目前正在使用 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>

我想知道这是一个坏主意,还有其他选择吗?

4

2 回答 2

0

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

您可以创建 jQuery 插件来处理功能的不同部分并在需要时加载它们。在 JS Loaders 上,在jster.net上有一个完整的部分。对于路由,您可以使用Davis Mapper之类的东西。

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

于 2012-12-14T09:05:18.447 回答
-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">
于 2012-12-14T00:06:06.477 回答