我创建了一个漫画网站http://www.hittingtreeswithsticks.com/,如果您点击漫画缩略图,它会将您带到图片的完整大小(viewimage.php模板)。
在viewimage.php模板上,我使用javascript / jquery循环浏览我存储在数组中的图像,这样用户就不必每次都重新加载页面。
这似乎有两个问题:
1)我还有一个“喜欢/不喜欢”的功能我想添加...这样你就可以为每个图像投票,以及像facebook一样的按钮(所以用户可以喜欢PER IMAGE)。目前,由于jQuery在图像中循环,因此它不会更新您单击的图像的ID。 (在此图像中,如果我按下右箭头键进入下一步,则id应增加到35)。
2)最终我想从Ad Revenue赚钱。消息来源说,如果我使用jQuery来获取下一张图片,而不是重新加载页面,广告将不会刷新...而且我会产生更少的广告收入。
所以,我的问题是...... Jquery可以处理这些问题,还是我必须进行页面刷新以增加ID并刷新广告?
谢谢!
编辑:我已加入
window.history.pushState(null, null, 'http://www.hittingtreeswithsticks.com/?action=viewimage&site=comics&id=imgIndex');
代码(这似乎不起作用,实际上阻止“下一步”代码工作)
$("#next").click(function() {
imgIndex++;
if (imgIndex > imgArray.length-1)
{
imgIndex = 0;
}
img.src = imgArray[imgIndex];
window.history.pushState(null, null, 'http://www.hittingtreeswithsticks.com/?action=viewimage&site=comics&id=imgIndex');
});
更新:
错误:
答案 0 :(得分:2)
关于您的第一个问题,您可以使用pushState()。在替换图像时,您还可以更新网址。这会添加一个新的历史记录条目并替换浏览器中的URL,但实际上不会重新加载页面。例如:
window.history.pushState(null, null, 'http://www.hittingtreeswithsticks.com/?action=viewimage&site=comics&id=N&cat=&title=TITLE');
(在这里恰当地替换N和TITLE)。这样才能解决这个问题。请注意,这不是jQuery功能,而是vanilla javascript。
关于问题2,这取决于您的广告的设置方式,但这可能是他们不会自动重新加载的情况。在大多数情况下,您还可以通过javascript重新加载广告,但细节取决于广告投放方式的详细信息;您应该发布一个单独的问题,询问如何通过javascript异步加载广告,并详细说明广告服务器的工作方式。