为了提高网站的性能,我把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中的现场工作?
答案 0 :(得分:1)
我认为最好将数据放在某个隐藏元素中而不是使用数据。另外数据也是用jQuery编写和读取的,我不知道在html中直接写数据博客会不会出问题。