JavaScript 分割 URL 时无法获取片段

发布于 2025-01-07 04:22:04 字数 677 浏览 0 评论 0原文

我的 JS 经验有限,我需要分割一个看起来像这样的字符串:

http://example.com /#!/about

进入 http://example.com/ 和 !/about

我不能不幸的是,如果使用 PHP,则无法解析 URL。正确的??

这就是我现在所拥有的:

<script type="text/JavaScript">
var newUrl = window.location.pathname;
var hash=newUrl.split('#');
var f=hash[1];
</script>

我可以对第三行执行此操作:

    var hash=newUrl.split('com'); 

然后计算哈希值,但问题是如果有人访问

example.com/index.php/#!/about

所以我' d 然后必须在这一点之后将我的代码加倍。

有什么想法如何将 URL 分成以哈希为中心的两部分,而不必使用我刚才提到的内容吗?

I have limited JS experience, and I need to split a string that would look something like:

http://example.com/#!/about

Into http://example.com/ and !/about

I can't unfortuently use PHP and parsing the URL won't work. Right??

This is what I have at the moment:

<script type="text/JavaScript">
var newUrl = window.location.pathname;
var hash=newUrl.split('#');
var f=hash[1];
</script>

I could do this for the 3rd line:

    var hash=newUrl.split('com'); 

And then account for the hash, but the problem with that is if someone goes to

example.com/index.php/#!/about

So I'd then have to double my code after this point.

Any ideas how to split the URL into two parts centring around the hash without having to use what I just mentioned??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

疯到世界奔溃 2025-01-14 04:22:04

.pathname 不包含哈希值。请改用 .hash 属性。使用 substring 去除前面的 # 字符。

var hash = location.hash.substring(1);

The .pathname doesn't include the hash. Use the .hash property instead. Use substring to strip the # character from the front.

var hash = location.hash.substring(1);
夜夜流光相皎洁 2025-01-14 04:22:04

如果这不是您的 window.location,您可以使用 /([^:]+://[^/]+)[^#]+#(.*)/ - 您将在第一个和第二个捕获组中获得所需的部分。

If it's not your window.location, you can use /([^:]+://[^/]+)[^#]+#(.*)/ - you will get the required parts in the first and second capturing groups.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文