更改 URL 哈希更改的脚本代码
Change script code on URL hash change
我有一个脚本,如以下示例所示:
<script type="text/javascript">
var _myplug = _myplug || {};
_myplug.key = '12e9u349u43098j8r940rjciocjo';
_myplug.renderTo = '';
window.myplug||(function(d) {
var s,c,o=myplug=function(){ o._.push(arguments)};o._=[];
s=d.getElementsByTagName('script')[0];c=d.createElement('script');
c.type='text/javascript';c.charset='utf-8';c.async=true;
c.src='js/loader.js?';s.parentNode.insertBefore(c,s);
})(document);
</script>
我确切地知道我必须做什么更改,但我不知道如何在编码语言中完成此操作。
我需要做的是:
- 当URL哈希更改为"触发器URL"时,
_myplug.renderTo = 'happy';
- 当 URL 哈希再次更改为"triggerURL"以外的任何内容时,则
_myplug.renderTo = ''
这是因为URL可以随时更改(无需离开页面),并且每次发生上述哈希更改时,都需要以某种方式完成其他描述的更改。
任何有解决方案的人.....多谢!
<script type="text/javascript">
var _myplug = _myplug || {};
_myplug.key = '12e9u349u43098j8r940rjciocjo';
_myplug.renderTo = '';
window.myplug||(function(d) {
var s,c,o=myplug=function(){ o._.push(arguments)};o._=[];
s=d.getElementsByTagName('script')[0];c=d.createElement('script');
c.type='text/javascript';c.charset='utf-8';c.async=true;
c.src='js/loader.js?';s.parentNode.insertBefore(c,s);
})(document);
function changeHash () {
var hash = (window.location.hash || '#').slice(1);
if (hash === 'triggerURL') {
_myplug.renderTo = 'happy';
} else {
_myplug.renderTo = '';
}
}
changeHash(); // init
window.addEventListener('hashchange', changeHash, false);
</script>
您可以使用
window
上的hashchange
事件来执行更改。在现代浏览器中,它就像这样简单:
window.addEventListener('hashchange', function (ev) {
if (window.location.hash === '#triggerURL') {
// Your Code Here
}
}, false)
您可以在 MDN 上找到更多信息,以及旧版浏览器的 polyfill。
相关文章:
- html或java脚本代码在硬盘中创建一个文本文件
- 在Asp.net的TextBox中插入所需文本的java脚本代码
- 是否有脚本/代码可以一次将链接属性添加到多个链接
- 如何在此脚本代码中正确设置此计算和变量
- 如何使用java脚本代码计算禁用按钮的时间
- 脚本代码冲突
- 启用使用java脚本代码在web浏览器中运行的脚本
- 如何将一行咖啡脚本代码转换为多行
- Java 脚本代码 (显示更多 - 显示更少)
- 更改 URL 哈希更改的脚本代码
- 如何使用 javascript 添加脚本代码
- Java 脚本代码不起作用
- 如何递减 Java 脚本代码中的值
- 将 html 代码转换为操作脚本代码
- 如何从 BSF 后处理器的脚本代码进行断言
- Java 脚本代码不起作用
- 基于 Google 电子表格中公式更改的电子邮件脚本代码
- 如何插入不同的<脚本>代码
- CKEDITOR - 启用插入 Java 脚本代码
- 将 ajax 回调脚本代码放在 rails 3.1 中的位置