如何在javascript中的变量中存储URL?

时间:2013-06-17 13:32:06

标签: javascript url onclick

我正在尝试这个粗略的脚本想法。但它没有用。

<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

6 个答案:

答案 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>