【问题标题】:Why is instagram embed code only showing an instagram icon, not the image?为什么 instagram 嵌入代码只显示一个 instagram 图标,而不是图像?
【发布时间】:2016-05-19 11:41:54
【问题描述】:

我想将我 instagram 帐户中的照片嵌入到我的博客中。我认为这将是一个简单的案例,从照片中复制嵌入代码,将其粘贴到我的编辑器中,然后我就走了。 不过,情况似乎并非如此。从屏幕截图中可以看出,我得到了照片信息,但没有照片。

如果我只在 html 中添加一个图片标签,图片就完美了,但不是 instagram 照片的风格。

<img src="https://www.instagram.com/p/BFbPlbwIceD" />

有没有人知道为什么嵌入代码不起作用。我也尝试过在纯 html 文件中嵌入代码,但它也不起作用,所以不是我的 CMS 导致了问题,而是 Umbraco。

【问题讨论】:

    标签: embed instagram


    【解决方案1】:

    (以下答案仅适用于没有服务器的本地 html 文件)

    我遇到了同样的问题,并注意到嵌入代码中的这一行:

    <script async defer src="//platform.instagram.com/en_US/embeds.js"></script>
    

    当我将方案(“http”)添加到如下所示的源时,图像正确显示。

    <script async defer src="http://platform.instagram.com/en_US/embeds.js"></script>
    

    希望这会有所帮助。

    【讨论】:

    • 这似乎只出现在 umbraco.config 文件中,这意味着每次我从 umbraco 添加图像时,我都需要手动更改此文件。我的想法是正确的,还是有另一个我没有找到应该编辑的文件?
    • 我对CMS本身没有任何经验,但也许你可以看看这个配置文件EmbededMedia.config。我还尝试将整个 html 嵌入代码从 instagram 复制到演示站点 belle.byte5.net 的新页面中,并且图像显示正常。我还没有尝试过嵌入功能,因为它需要更改我手头没有的配置文件。
    • 还有一点需要注意的是,我上面的答案仅适用于在没有服务器的情况下打开本地 html 文件,在这种情况下,是方案“file:///”导致了问题。除此之外,我不太明白为什么您的图像没有出现。或许你可以尝试打开开发者工具 -> 网络选项卡,看看 embed.js 文件是否加载成功。
    • 这仍然没有解决,但你的回答非常有帮助。谢谢。
    • 这对我有用,但我不得不将其更改为简单地使用 https 而不是 http https://platform.instagram.com/en_US/embeds.js
    【解决方案2】:

    问题的原因是

    <script async src="//www.instagram.com/embed.js"></script>
    

    在之前运行

    <blockquote>...</blockquote>
    

    存在于 DOM 中。这意味着脚本在加载时找不到任何块引用来转换为 iframe。

    由于脚本被标记为异步,您可能会遇到竞争条件,每次刷新时您会获得不同的加载顺序。

    您需要确保在出现块引用后加载脚本。将脚本部分移动到文档的末尾。或者如果稍后使用 JS 将 DOM 添加到 DOM 中,也可以运行

    instgrm.Embeds.process()
    

    确定在 DOM 之后。

    来源:https://www.instagram.com/developer/embedding/

    【讨论】:

      【解决方案3】:

      我有同样的问题。在反应中,您必须像这样处理嵌入:

      componentDidMount() {
        window.instgrm.Embeds.process();
      }
      

      这是为我做的!

      【讨论】:

      • 对我来说window.instgrm 总是未定义的。
      • 这对我有用,因为嵌入代码位于 JS 选项卡中,并且最初未加载代码。 @Alex,尝试在开发人员控制台中检查“instgrm”对象,很可能是当您检查时该对象尚未定义......
      • 对于我使用 Angular,我添加了: 到 index.html 之后的 body 标签. 每次加载。
      【解决方案4】:

      已报告此问题。

      似乎是一个不容易修复的已知问题: http://issues.umbraco.org/issue/U4-8646

      【讨论】:

        【解决方案5】:

        我迟到了,但目前该问题似乎仍在许多网站上发生。

        在我自己的网站上进行了一些研究后,我注意到控制台在加载时出现错误。按照错误中的链接将我带到以下位置

        https://www.instagram.com//www.instagram.com/static/bundles/es6/EmbedSDK.js/47c7ec92d91e.js

        显然该页面没有加载 js,因为它不是正确的网络链接。

        要克服这个问题,请替换嵌入底部的这一行

        <script async src="//www.instagram.com/embed.js"></script>
        

        有了这个

        <script async src="https://instagram.com/static/bundles/es6/EmbedSDK.js/47c7ec92d91e.js"></script>
        

        它目前可以工作,但如果他们再次更改 js url,它可能会破坏链接。

        它现在应该出现了。

        【讨论】:

          【解决方案6】:

          我这样做。

          在 index.html 中导入脚本

          <script async src="http://www.instagram.com/embed.js" type="text/javascript"></script>
          

          useEffect(() => {
              if (window.instgrm)
                  window.instgrm.Embeds.process();
              }, [articleId]);
          

          这对我有用。

          【讨论】:

            【解决方案7】:

            Instagram API 可能已更改,最近有人报告了类似的问题,即推文嵌入不正确。将其作为问题记录在http://issues.umbraco.org.uk 上并提供一些报告步骤,希望有人能够修复它。

            我刚刚测试过,它对我也一样。

            【讨论】:

              【解决方案8】:

              我遇到了这个问题,最终发现,如果您在编辑器中将网址单独放在一行上,较新版本的 wordpress 将自动嵌入图像或视频。我怀疑这是最近添加的,因为我不得不搜索一段时间才能找到它。例如,我在此页面上使用它为帖子添加了 Instagram 视频:http://blog.pokefind.com/awesome-pokemon-go-functioning-costume/

              【讨论】:

              • 这在主题 > 自定义 > 小部件 > 侧边栏中不起作用,它只显示 URL。
              【解决方案9】:

              信不信由你——我想我已经解决了这个问题。 只需添加这一行

              &lt;iframe style="display:none"&gt;&lt;/iframe&gt;

              到您的代码,一切都会完美运行。

              【讨论】:

              • 试图在嵌入代码之前和之后添加这个,但都没有任何效果。
              猜你喜欢
              • 1970-01-01
              • 2017-05-05
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2020-08-16
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多