我想让 history.js 在我的主页上工作:http ://www.dinomuhic.com/2010/index.php
我主页的主要 javascript 代码在这里:http ://www.dinomuhic.com/2010/js/bunch.js
我的主页是自编码的,所以没有 cms、Wordpress 之类的。整个站点是这样工作的:无论你点击什么都有一个 ID,这个 ID 被发送到sndReq函数,然后内容就会出现。
例如,当您单击“运动”链接时,正在发送的内容
javascript:sndReq('k001','Main-Menue','Menue-Open','Motion')
这是4个变量。首先是 ID,然后是 3 个用于 Google Analytics 的变量以进行正确跟踪。
现在我所做的就是将 history.js 脚本链接到我的索引页面,如您所见,并将这一行添加到我的 sndReq 函数中:
History.pushState( {state:1}, "DinoMuhic.com - "+label, "?="+req );
我什么也没做。意味着我没有为 history.js 添加任何其他代码行。
所以已经起作用的是它将正确的字符串附加到url。单击 Motion 按钮会生成如下所示的 URL 字符串:
http://www.dinomuhic.com/2010/index.php?=k001
这很好,因为这是可收藏的,并且仅发送 ID 也可以工作并显示正确的内容。
当我按下后退按钮时,它也会将字符串替换为之前的字符串。但它不会再次触发 sndReq 函数,因此最后一次点击的内容也会出现在屏幕上。URL 字符串会更改,但内容不会更改。
我只需要让 history.js 保存 sndReq 函数调用,并在再次按下后退或前进按钮时再次调用它们。
我希望我能充分解释一切。
如果它会让您的一切变得更简单,只需假设我只是发送 ID 而不是其他 3 个用于谷歌分析的 var,因为它在仅发送 ID 而不是其余部分时也有效。
提前致谢