将javascript/jquery函数放置在一个普遍可访问的页面中

Placing javascript/jquery functions in a universally accessible page

本文关键字:一个 访问 函数 jquery javascript      更新时间:2023-09-26

我正在尝试清理我的页面,我这样做的主要方法之一是将JavaScript和JQuery函数放入一个名为'scripts.js'的文件中,该文件在页面加载时自动访问。

我遇到了一个使用php从页面本身调用函数的问题。例如,下面的函数不起作用,实际上"杀死"了所有页面的脚本(所以现在应该隐藏的东西没有被隐藏,而且东西没有正确加载)。我已经把范围缩小到我使用调用变量的事实。我真的希望能够在这个通用文件中使用PHP保持函数,而不是堵塞HTML模板页面,任何关于如何使此工作的想法,或者如果不是,我如何才能调用所需的值?如果有帮助的话,它们总是在呈现之前被提取到页面中。

function positiveSelect()
{
   var size = <?php echo $idea[0]["size"]; ?> * 1;
   if (size > 5)
      return true;
   else
      return false; 
}

如果你不能从DOM本身检索你的数据,你可以存储值与相应的对象:

 <div data-size=20>

,然后用:

检索
 $(element).data("size");

或者如果你想要存储全局数据,你可以在HTML文档的头部创建一个值"container",如下所示:

<script type="text/x-json" class="global-data">{"value1":"1","value2":"2"}</script>

,然后读取该元素的内容,并使用JSON.parse

解析它

如果这个函数是特定于某个页面的,您可能需要添加第二个js脚本,它只会被加载到该页面。

另一种方法是在该php页面中回显一个js变量,并让您的代码以该变量作为参数调用该函数

你可以给javascript一个".php"的扩展名,并在脚本中以同样的方式调用它:

<script type="javascript" src="path/to/scripts.php"></script>

您可以将生成脚本文件命名为scripts.php或scripts.js.php;然后PHP预处理器将处理该文件,并计算PHP语句。

当php或任何服务器端语言与javascript混合使用时,您需要注意php只在javascript文件在客户端创建时执行一次。

这可能就是为什么你会得到意想不到的结果。当你从一个页面移动到另一个页面时,全局scripts.js中的php代码段不会被更新。