【问题标题】: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 变量。

          【讨论】:

            猜你喜欢
            • 2013-09-29
            • 1970-01-01
            • 2018-04-04
            • 2011-12-06
            • 2016-11-27
            • 1970-01-01
            • 1970-01-01
            • 2012-11-14
            • 2020-09-17
            相关资源
            最近更新 更多