【问题标题】:How to use javascript in specific jekyll posts?如何在特定的 jekyll 帖子中使用 javascript?
【发布时间】:2019-02-05 08:01:32
【问题描述】:

我正在尝试在 jekyll 中使用 oembed 来获取 youtube 标题。
这是我的代码,在 codepen 中有一些错误,例如 index.js: Unexpected token (3:12)。请改正。

<script>
          function getyoutubetitle(id) {
            var json = 'http://www.youtube.com/oembed?url=http%3A//youtube.com/watch%3Fv%3D' + id + '&format=json';
            document.write(json[title]);
          }
      </script>
getyoutubetitle(xh6mpAOD9ho);

请看这个link,这里我在帖子中专门调用了javascript函数。但它不起作用只是给出相应的文本,如getyoutubetitle(xh6mpAOD9ho);。

【问题讨论】:

    标签: javascript jekyll


    【解决方案1】:

    将参数作为字符串传递以开始。

    getyoutubetitle("xh6mpAOD9ho");

    你也可以使用这个节点包https://www.npmjs.com/package/get-youtube-title

    似乎很适合您的用例,因为您只需要标题。我不认为您的功能正在获取任何信息。如果您不打算使用该软件包,我建议您考虑使用 google api。我相信你会在文档中找到 JS 代码 sn-ps。

    使用浏览器控制台调试 URL 正在获取的内容或使用 Postman 测试正确的 API。

    【讨论】:

    • 控制台出现错误title is not defined at getyoutubetitle
    【解决方案2】:
    1. Javascript必须包含在&lt;script&gt;标签中
    2. Id 必须作为字符串传递,而不是作为变量名

    您的代码可能如下所示:

    <script>
    getyoutubetitle("xh6mpAOD9ho");
    </script>
    

    【讨论】:

    • 控制台出现错误title is not defined at getyoutubetitle
    • 在浏览器中观看您的 JavaScript 控制台。您的某些视频 ID 错误或过时并返回 404。所以,没有 json :没有标题。
    • 好的,但我有疑问是否可以简单地从像var json = 'http://www.youtube.com/oembed?url=http%3A//youtube.com/watch%3Fv%3D' + id + '&amp;format=json';这样的url收集数据,因为它是一个远程文件?
    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 2013-10-23
    • 1970-01-01
    相关资源
    最近更新 更多