【问题标题】:Is it considered good practise to have jQuery scripts in a PHP conditional? [closed]在 PHP 条件中使用 jQuery 脚本是否被认为是一种好习惯? [关闭]
【发布时间】:2014-03-18 06:27:51
【问题描述】:

我有几个 jQuery 脚本在我的网站上使用,但不是在每个页面上都使用。我将这些脚本放在 PHP 条件中,以便它只在所需的页面上输出它们。

现在我想知道的是:这被认为是好的做法吗?这会加快网站速度吗?使用这种方法有什么积极的方面吗?

<?php if ( is_home() ) { ?>

    <script>
        //jQuery code
        //jQuery code
        //jQuery code
    </script>

<?php } ?>

【问题讨论】:

  • 如果脚本并不总是需要,您可以这样做,但同样您也可以只输出一个有条件的 JS 文件资产。如果用户可能只使用此页面一次,您可以按照您的建议进行内联操作,否则(即使是有条件的)您可能希望使用资产,因此它可以从浏览器端缓存中受益。
  • 我建议做的唯一改进是使用 wp_register_script()wp_enqueue_script() 并确保这在您的 functions.php 中。
  • 在一个单独的 js 页面中编写你的 jquery 例如:custom-jquery.js 然后使用 if(is_home()) { wp_enqueue_script( 'custom-jquery', 'js/custom-jquery. js'); }。在你的主题的functions.php中写这行代码。
  • Pranita 所说的是一个很好的做法,但是,这取决于您项目的复杂性。如果要在一个项目上花费数周时间,那么您应该考虑不要使用这些内联

标签: php jquery wordpress conditional


【解决方案1】:

即使这样做没有任何错误,您也放弃了浏览器端缓存,只是为了一个小小的临时方便。我说是临时的,因为这绝对不是我会在更大规模的系统上部署的东西。

放弃浏览器端缓存的原因是因为 PHP 文件总是被浏览器请求新鲜,因为它被假定具有动态数据。

我会为您的 JS 文件推荐一个 /assets/js/pages/home.js 布局,这些文件有条件地包含为外部文件,因为这在未来将更具可扩展性:

<?php if ( is_home() ) { ?>

    <script src="/assets/js/pages/home.js"></script>

<?php } ?>

【讨论】:

  • 我将它用于一些非常小规模的 AJAX 调用,所以现在它可以正常工作。不过,我将来会从事更大的项目,所以我会记住这一点!谢谢你教我一些新东西:)
  • 很高兴我能帮助您指引正确的方向!如果您想查看我上面提到的资产布局的出色使用示例,请告诉我。
猜你喜欢
  • 1970-01-01
  • 2021-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-30
相关资源
最近更新 更多