如果网页有基础href,那么在不刷新页面的情况下,有没有办法忽略它使用# ElementId ?
以下是一些代码:
当我点击按钮或链接时,我希望浏览器将页面带到div#test。 没有base href标签,一切正常 - 但是,有了base-href标签,如果没有JavaScript的帮助,我就无法做到这一点。 是否有更“自然”的方法来解决这个问题?
以下是我目前拥有的解决方法...
以下是一些代码:
<html>
<head>
<base href="http://www.google.com/" />
</head>
<body>
<div id="test">
Test
</div>
<button onclick="location.href='#test'">Back to Test</button>
<a href="#test">Back to Test!</a>
</body>
</html>
当我点击按钮或链接时,我希望浏览器将页面带到div#test。 没有base href标签,一切正常 - 但是,有了base-href标签,如果没有JavaScript的帮助,我就无法做到这一点。 是否有更“自然”的方法来解决这个问题?
以下是我目前拥有的解决方法...
<html>
<head>
<base href="http://www.google.com/" />
<script type="text/javascript">
function goToElement(elementId) {
var baseTag = document.getElementsByTagName("base")[0];
var existingBaseHref = baseTag.href;
baseTag.href = "";
location.href = "#" + elementId;
baseTag.href = existingBaseHref;
}
</script>
</head>
<body>
<div id="test">
Test
</div>
<button onclick="goToElement('test')">Back to Test</button>
<a onclick="goToElement('test')">Back to Test!</a>
</body>
</html>