当url包含#something时,我如何更改页面上的内容


How can I make something on the page change when the url contains #something

我已经做到了,所以当你点击某个链接时,它会将url更改为mywebsite.com/page.php#certificusername

当url包含某人的特定用户名,一个包含的对象时,我该如何做到这一点

data="http://www.twitch.tv/widgets/live_embed_player.swf?channel=certainusername" 

会将某个用户名更改为#中的用户名吗?

查看parse_url函数。您应该能够从中获得片段(hashmark的东西)。

不确定您在谈论什么样的更改。。。因此,以下是访问"#certainusername"的3种不同类型的方法

CSS

:target {
   background: yellow;
}

(来源)


PHP

parse_url($url, PHP_URL_FRAGMENT)
// or
parse_url($url)['fragment']
// then do stuff ...

(来源)


JavaScript

window.location.hash

(来源)

对于这个问题,我假设您没有使用任何框架。鉴于此,我将给你一个简单的答案。

步骤:

1-从URL中获取用户名。

2-动态生成视图。

说明:

1-我建议使用以下格式的查询字符串:mywebsite.com/page.php?username=certificusername(而不是使用#)然后,您可以使用$_GET获取用户名(请阅读更多关于安全含义的信息:http://php.net/manual/en/reserved.variables.get.php)。

2-如果你使用PHP直接生成HTML代码,你唯一需要做的就是:

... HTML in here ...
data="http://www.twitch.tv/widgets/live_embed_player.swf?channel=<?php echo $username; ?>"
... more HTML ...

(假设变量$username包含从URL获得的用户名)。

这是一个非常简单的场景,还有很多其他事情需要考虑,这些都超出了问题的范围。