【问题标题】:Declare variable outside of javascript file and use it in file在 javascript 文件之外声明变量并在文件中使用它
【发布时间】:2012-08-29 14:56:19
【问题描述】:
所以我在 .php 文件中声明一个变量
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/script/jscript_pages.js">
var templatePath = "<?php bloginfo('template_directory'); ?>";
</script>
但我想在 jscript_pages.js 中使用变量 templatePath,但是当我这样做时,我的控制台会显示:Uncaught ReferenceError...
希望有人能帮忙:)
谢谢
【问题讨论】:
标签:
php
javascript
wordpress
declare
【解决方案1】:
脚本元素的内容是在浏览器不支持src 时使用的替代内容,它不是在运行外部脚本之前运行的脚本。
使用两个脚本元素。
<script>
var templatePath = "<?php bloginfo('template_directory'); ?>";
</script>
<script src="<?php bloginfo('template_directory'); ?>/script/jscript_pages.js"></script>
【解决方案2】:
在脚本中引用它之前设置变量。
<script>
var templatePath = "<?php bloginfo('template_directory'); ?>";
</script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/script/jscript_pages.js">
</script>
【解决方案3】:
正如@Quentin 所说,它要么/要么在单个标签中。
在概念上,你可以通过两个脚本标签来做你正在寻找的事情
<script type='text/javascript'>
var templatePath = "<?php bloginfo('template_directory'); ?>";
</script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/script/jscript_pages.js"></script>
但是,在实践中,通常更好的方法(用于测试、可移植性等)是让您的脚本文件只定义函数,然后让您的页面脚本(如果有的话)调用这些函数并应用变量。
【解决方案4】:
在此设置中,您的函数 bloginfo('template_directory'); 应该返回一个 $GLOBALS 变量。