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

时间:2013-01-16 16:52:15

标签: php javascript jquery universal

我正在尝试清理我的页面,我这样做的一个主要方法是将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; 
}

5 个答案:

答案 0 :(得分:4)

如果您无法从DOM本身检索数据,则可以使用相应的对象存储值:

 <div data-size=20>

然后用以下内容进行检索:

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

或者如果你想要存储全局数据,你可以在你的html文档的头部创建一个值“容器”,如下所示:

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

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

进行解析

答案 1 :(得分:2)

如果此功能是特定于某个页面的功能,您可能需要添加刚刚在该页面上加载的第二个js脚本。

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

答案 2 :(得分:2)

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

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

这可能是您获得意外结果的原因。当您从一个页面移动到另一个页面时,全局scripts.js中的php片段将不会更新。