我正在尝试这个粗略的脚本想法。但它没有用。
<script>
function storeurl() {
var varurl = document.URL;
}
document.onclick = storeurl;
document.write(varurl);
</script>
使用document.URL函数将varurl设置为实际url。
<a href="#2">broogle</a>
然后点击我想将varurl设置为#2然后回显。
在一个完美的世界中,这个剧本会回应
http://url/#2
点击链接
有任何帮助吗? THX
答案 0 :(得分:2)
您的varurl变量的范围是方法(函数)级别。这意味着在函数外部运行的代码不可见。
此外,document.write代码将在脚本首次运行时(即点击之前)执行。
如果您不需要使用varurl而不是将其写入文档,则可以将document.write代码移动到函数中并保留varurl的窄范围:
<script>
function storeurl() {
var varurl = document.URL;
document.write(varurl);
}
document.onclick = storeurl;
</script>
否则将变量定义移出函数,使其(变量)变为全局:
<script>
var varurl;
function storeurl() {
varurl = document.URL;
document.write(varurl);
}
document.onclick = storeurl;
</script>
答案 1 :(得分:1)
var
使其成为函数范围的局部变量。另外,你甚至试图在它设置之前阅读它。
答案 2 :(得分:0)
您已将varurl
位置发送到使用var
声明的函数,因此从该函数外部无法看到它。
var varurl;
function storeurl() {
varurl = document.URL;
}
您还在write()
之前不会设置它。
function storeurl() {
var varurl = document.URL;
document.write(varurl);
}
document.onclick = storeurl;
答案 3 :(得分:0)
将您的代码更改为
var varurl;
function storeurl() {
varurl = window.location.href;
}
答案 4 :(得分:0)
它应该有用,
<script>
function storeurl() {
varurl = document.URL; // it should be Global variable, so remove var
document.write(varurl);//when you're declaring this outside of the function
}
document.onclick = storeurl;
</script>
答案 5 :(得分:0)
只需在变量中存储网址,无论是外部网址还是当前网页的网址,然后再显示或者用它做其他事情,你可以按照下面代码中的内容进行操作:
<html>
<body>
<button onclick="go()">GO TO GOOGLE</button><br/>
<button onclick="show()">CLICK TO SHOW CURRENT URL</button><br/>
<p id="showhere"></p>
<script>
function go(){
var u = "http://www.google.com" ;
window.location.href = u; //takes you to google.com
}
function show(){
var x = window.location.href;
document.getElementById("showhere").innerHTML = x;
//shows URL of current page below the buttons
}
</script>
</body>
</html>