繁体   English   中英

将javascript / jquery函数放置在可通用访问的页面中

[英]Placing javascript/jquery functions in a universally accessible page

我正在尝试清理页面,而这样做的主要方法之一是将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文档的开头创建一个值“容器”,如下所示:

<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混合使用时,您需要注意,在客户端创建javascript文件时,php仅执行一次。

这可能就是为什么您得到意想不到的结果。 当您在页面之间移动时,全局scripts.js中的php代码段将不会更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM