【问题标题】:Dynamically Bind MetaTag Jquery动态绑定 MetaTag Jquery
【发布时间】:2014-05-10 18:48:41
【问题描述】:

大家好,我正在尝试使用 Jquery 动态绑定内容。我关注了来自stackoverflow网站的许多讨论 比如How to insert metatag without using jquery append?

以下是我尝试过的代码。我不知道我在哪里做错任何帮助将不胜感激。

<head>
    <meta property="og:description" content="sdgds"/>
    <meta property="og:title" content="sfsfds"/>
    <meta property='og:image' content="http://i1.ytimg.com/vi/v9ao-fGMVz8/maxresdefault.jpg" />
    <meta property='og:video' content="http://abcd.azurewebsites.net/api/Video/?video_id=1" />
     <meta property="og:video:type" content="application/x-shockwave-flash" />
     <meta property="og:video:width" content="1920" />
     <meta property="og:video:height" content="1080" />

    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
    <script>
    $(document).ready(function() {
            var first = getUrlVars()["id"];
            $.ajax({
            type: "Get",
            url: 'http://abcd.azurewebsites.net/api/Video/?video_id=1',
            success: function (data) {  
                alert("Hello");
                var tv_main_channel = $('#tv_main_channel');
                data="http://abcd.azurewebsites.net/Content/movie.mp4";
                tv_main_channel.attr("src", data);
                var video_block = $('#video');
                video_block.load();

                $('meta[name=og\\:description]').attr('content', "This is des");

            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
            console.log(JSON.stringify(XMLHttpRequest));
            }
            });
        });

    function getUrlVars()
    {
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for(var i = 0; i < hashes.length; i++)
        {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
        }
        return vars;
    }

    </script>




</head>

【问题讨论】:

  • 你知道元标签是做什么的吗?它们在页面加载时由浏览器读取,并用于提供通常位于从服务器发送的标头中的信息。大多数元标记(如果不是全部)在加载后都会被忽略。我看到你正在改变 og: meta - 我认为它是在准备推出一些在启动时实际读取元标签的东西,比如 facebook?如果是这样,你下一步要做什么?
  • 下一步是从我的服务器分享视频
  • 我的意思是——您的下一步操作是否会读取修改后的元数据?

标签: javascript jquery meta-tags


【解决方案1】:

您使用的 jquery 版本不适合这样做。使用较新的版本。

<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.0-rc1/jquery.js"></script>

【讨论】:

  • 感谢您的快速回复,但它也没有工作。
  • 对不起,还要将选择器更改为:'meta[property=og\\:description]' (jsfiddle.net/LEzCY)
  • 它可以工作,但是当我测试它时,当我在developers.facebook.com/tools/debug 中测试它时,它仍然显示旧内容,这是为什么?
  • 这很正常,因为 facebook 调试器只是检索 HTML 并不会执行任何客户端代码,例如 javascript。
猜你喜欢
  • 2011-04-05
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 2014-07-23
  • 2012-06-10
  • 2015-01-29
  • 1970-01-01
  • 2012-10-29
相关资源
最近更新 更多