是否可以通过锚标签运行javascript函数。
E.g。如果你去了... www.site.com/index.html#function1 ...那么function1会运行吗?
答案 0 :(得分:2)
你不能通过简单地将它包含在锚标记中来做到这一点,但你可以使用#标签(location.hash
)来调用你的函数
答案 1 :(得分:2)
$(document).ready(function() {
//Get hash from URL. Ex. index.html#Chapter1
var hash = location.hash;
if (hash == '#Chapter1') {
//Do stuff here
}
});
答案 2 :(得分:2)
在页面上放置一个onload侦听器,并在链接上单击一个侦听器,转到锚点。触发时,请检查window.location.href,如:
<body onload="checkHash();">
<a href="#foo" onclick="checkHash()">go to foo</a>
<br>
<a href="#bar">go to bar</a>
<p>something in between</p>
<a name="foo">foo</a>
<br>
<a name="bar">bar</a>
<script type="text/javascript">
function checkHash() {
// Check URL using setTimeout as it may not change before
// listener is called
window.setTimeout(doHashCheck, 10)
}
var doHashCheck = (function(global) {
return function() {
var fnName = window.location.hash.replace(/^#/,'');
console.log(fnName);
// fnName should be a native function, not a host method
if (typeof global[fnName] == 'function') {
global[fnName]();
}
}
})(this);
function foo() {
alert('foo');
}
if (!window.console) window.console = {};
if (!console.log) console.log = window.alert;
</script>
</body>
答案 3 :(得分:0)
您无法像这样调用javascript,但如果您控制其他站点,则可以检查正文Load事件中的URL,然后执行脚本。