2013-03-17 53 views
0

我试图找出一种方式来获得当前的网址,并将其添加到输入字段。如何获得网址,并添加作为输入值

我目前使用此,它并没有为我工作:

<script> 
    $(document).ready(function(){ 
    $('input').val(window.location.hash); 
    }); 
</script> 

我使用jQuery 1.8版

实际上,我只是想获得根域和仅限第一个子目录。因此,举例来说,如果域,这个功能是在是domain.com/sub/sub/sub我希望它只能获得domain.com/sub

感谢

+0

http://jsfiddle.net/39Sha/的location.hash抓住hash部件的网址。这听起来不像你想要的那样。搜索在斜杠上分割字符串以便如何抓取所需的部分。 – isherwood 2013-03-17 01:24:40

回答

0

由您访问的散列值像domain.com/something/index.html#hash

window.location的一个网址是你在找什么。

0

可以使用location.href的URL,并用regular expressionmatch

var re = /:\/\/(.+?\/.+?)\//; 
var parts = location.href.match(re); 
$('input').val(parts[1]); 
+0

这给了我完整的URL,我只需要域和第一部分。谢谢强硬! – Daniel 2013-03-17 05:07:31

+0

@Daniel请参阅最新答案。 – 2013-03-17 12:20:45

+0

这工作完美无瑕。谢谢! – Daniel 2013-03-17 15:33:57

0

捕捉所需要的部分假设window.location为:http://stackoverflow.com/questions/15456616/how-to-get-url-and-add-as-an-input-value(此页,其实)并希望第一个子目录(在这种情况下questions):

// on this page: 'http://' 
var protocol = window.location.protocol + '//', 
    // on this page: 'stackoverflow.com' 
    domain = window.location.hostname, 
    // on this page: 'questions' 
    directory = window.location.pathname.substring(1).split('/').shift(), 
    // 'http://stackoverflow.com/questions' 
    url = protocol + domain + '/' + directory; 
$('input').val(url); 

参考文献:

+0

这只给我第一个子域,不包括domain.com。有任何想法吗?谢谢! – Daniel 2013-03-17 05:08:24

+0

@丹尼尔:是的,我编辑了答案以提供完整的网址。 – 2013-03-17 10:03:34

+0

这仍然没有工作。上面的答案对我来说确实有效。尽管感谢您的帮助! – Daniel 2013-03-17 15:35:11

0

我会使用window.location.hrefwindow.location

你可以看到它在这里工作罚款:http://jsfiddle.net/hJKkY/1/

$(document).ready(function(){ 
    $('input').val(window.location.href); 
    }); 
+0

这给了我完整的URL,我只需要域和第一部分。谢谢强硬! – Daniel 2013-03-17 05:06:57