[英]JavaScript functions do not work when jquery loads an external page
[英]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.