chrome和'I.E'中的html body标签限制

时间:2011-06-22 16:39:29

标签: php javascript jquery html

为了提高网站的性能,我把db(不是很大)的所有内容都放到了body数据标签上。即。

<body data-blog="<?php echo htmlspecialchars( json_encode($blog) ); ?>">

该网站在localhost上工作正常,我将其更新到实时服务器。

当我从这个站点访问数据时,它正常工作没问题。当其他人访问该网站时,问题就出现了。我使用firefox 4.在我的计算机上测试它可以工作,但它不适用于任何其他计算机。它确实显示了body标签中的数据,但简单的javascript无法显示内容而不会出现任何错误。

我不知道如何调试这个以及可能存在的潜在问题。下面是我用来显示body标签数据的代码。

<body data-blog="<?php echo htmlspecialchars( json_encode($blog) ); ?>">
        <script>
$(document).ready(function()
{
    $("#h_menu li").click(function(e)
    {

         var cid = $(this).attr('id');
         $("#contents").empty();
          var blog = $(document.body).data('blog');
            var tags = $.parseJSON(blog);


            $("#tmenu").empty();


                for(var n in tags)
                {
                    if( tags[n].cat_id == cid )
                        $('#tmenu').append("<li id='"+tags[n].id+"'>"+ tags[n].tag_name +"</li>");
                }
    });
    $("#tmenu li").live("click",function()
    {
        var id =  $(this).attr('id')  ;
        var blog = $(document.body).data('blog');
        var tags = $.parseJSON(blog);
        $('#contents').empty().hide();
        $('#contents').html(tags[id-1].tag_content).fadeIn(600);
    });
});
</script>

我忘了提到它只适用于FF4,chrome和I.E甚至在我的电脑上也没有显示数据来自localhost所以我肯定我必须做一些错误的事情。但是我不知道哪个东西,为什么它甚至可以从我的Firefox中的现场工作?

1 个答案:

答案 0 :(得分:1)

我认为最好将数据放在某个隐藏元素中而不是使用数据。另外数据也是用jQuery编写和读取的,我不知道在html中直接写数据博客会不会出问题。