在这个问题的底部附带了一些代码,这些代码在基于PHP的Wordpress插件中得到了回应。我需要找出一种方法来确保这个javascript包含在CDATA中,因为它干扰了RSS feed生成器。任何帮助将不胜感激,我已经尝试了几种方式,但它并没有真正正常工作。除了RSS feed问题之外,插件的一切都很好用:/谢谢!!
echo '<div id="flickr-images">';
echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>';
echo '<script type="text/javascript">';
echo ' $(document).ready(function() {';
echo '$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?id=' .$userid. '&format=json&jsoncallback=?", function(data) {';
echo ' var target = "#flickr-images";';
echo ' for (i = 1 ; i <=' .$numpics .'; i = i + 1) {';
echo ' var pic = data.items[i];';
echo ' var liNumber = i + 1;'; ?>
$(target).append("<li class='hi-flickr-image hif-no-" + liNumber + "'><a title='" + pic.title + "' href='" + pic.link + "'><img src='" + pic.media.m + "' /></a></li>");
}
});
});
</script>
<?php echo '</div>';
答案 0 :(得分:1)
要么我不明白这个问题,要么就是你要做的事情:
echo '<![CDATA[';
// all the javascript echoed here
echo ']]>';
修改强>
我假设你知道上面的代码缺少一些echo语句? jquery部分中的一些单引号也看起来像是把它扔掉了。这个php没有执行,做到了吗?无论如何,看看这是否有效,但我可能错过了一些引用的地方......
echo '<div id="flickr-images">';
echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>';
echo '<script type="text/javascript">';
echo '<![CDATA[';
echo ' $(document).ready(function() {';
echo '$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?id=' .$userid. '&format=json&jsoncallback=?", function(data) {';
echo ' var target = "#flickr-images";';
echo ' for (i = 1 ; i <=' .$numpics .'; i = i + 1) {';
echo ' var pic = data.items[i];';
echo ' var liNumber = i + 1;'; ?>
echo ' $(target).append("<li class=\'hi-flickr-image hif-no-" + liNumber + "\'><a title=\'" + pic.title + "\' href=\'" + pic.link + "\'><img src=\'" + pic.media.m + "\' /></a></li>")';
echo ' }';
echo ' });';
echo ' });';
echo ']]>';
echo '</script>';
echo '</div>';
答案 1 :(得分:0)
感谢您的帮助。我想到了。
我最初回应的CDATA就像你们所建议的那样正在注册。
但是在插件PHP文件的底部,我在结束?>
后有几个空格,而 导致了RSS错误。
对此感到抱歉。