【问题标题】:JavaScript in a WordPress postWordPress 帖子中的 JavaScript
【发布时间】:2011-11-08 19:59:46
【问题描述】:

如何添加

<a href="javascript:function foo(){alert('hi');}" title="alert">
    Drag to your bookmarks bar
</a>

到我的 WordPress 帖子?

我建立了一个书签,我想通过我的博客传递它,但是当我保存它时,WordPress 正在从我的帖子中删除 javascript。

【问题讨论】:

    标签: javascript wordpress bookmarklet


    【解决方案1】:

    在我的 wordpress 网站的 HTML 编辑器中嵌入该代码没有问题。您的 javascript 代码存在问题 - 定义了一个函数,但从不调用它。我有

    <a href="javascript:alert('hi');" title="alert">Drag to your bookmarks bar</a>
    

    在帖子中,点击时我会收到警报,以及小书签。

    【讨论】:

    • 我安装了 WP 3.2.1 并且该链接变成了 javascript:void(0);由 WP
    • 有趣。我将再次检查我的设置,但我没有看到任何可以删除帖子中的 js 的内容。您是否有任何可能导致此问题的插件?
    • 不,我看不到。我们所有的插件都与社交媒体相关。
    • 您是管理员还是贡献者?
    • 看看codex.wordpress.org/Using_Javascript#Javascript_in_Postsplugins.trac.wordpress.org/wiki/TextControl 但除此之外,我没有看到任何设置......也许你的主题中有什么?我对此表示怀疑,但这是一种可能性。
    【解决方案2】:

    这个问题很可能是在浏览器端引起的。 Chrome 的 XSS 对我来说是个问题,我通过将 header ("X-XSS-Protection: 0"); 添加到我安装的根文件夹中的 wp-blog-header.php 行来解决它。这可能并不理想,因为它适用于整个站点。将它添加到仅适用于需要呈现小书签的帖子/页面的位置可能会更好。

    【讨论】:

      【解决方案3】:

      这是旧的,但仍然与 wordpress 版本 4.9.5 相关,所以我用我的解决方案来回答:

      Wordpress 会过滤掉您在帖子或页面中使用的任何 Javascript,这就是您的代码丢失的原因。我做了以下步骤来添加一个“javascript:”链接:

      1. 将您想要的链接添加到您的帖子中,使用“#”作为 href 并向标签添加 id(在编辑器的文本模式中):
      <a href="#" id="idOfYourLink">This is my JS Link</a>
      
      1. 安装自定义 Javascript 插件。我使用 简单的自定义 CSS 和 JS
      2. 在插件的帮助下添加所需的 Javascript:
      jQuery(document).ready(function( $ ){
        function yourFunction() {
            alert("It works");
        }
      
        jQuery('#idOfYourLink').on("click", yourFunction);
      });
      

      重要的部分是将 on-Handler 添加到您要使用的链接中。现在 Javascript 在页面加载后立即加载。单击链接将调用函数 yourFunction

      【讨论】:

        【解决方案4】:

        WordPress 单页和帖子中的 Javascript

        <script type="text/javascript">
        <!--
        // your code
        //--></script>
        

        来源: https://codex.wordpress.org/Using_Javascript

        【讨论】:

          【解决方案5】:

          我猜想 wordpress 编辑器是用来处理文本数据/内容的。因此,要添加您的 js,您可以找到用于添加自定义 js 的插件。您也可以在帖子中添加自定义字段。

          让它成为“custom_js” - 包含 js 代码的字段的名称。然后编辑主题帖子模板,添加custom_js的“echo”。

          <?php
          //single.php
          echo get_post_meta( get_the_ID(), 'custom_js');
          ?>
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-01-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多