通过url字符串使用javascript更改页面上的内容

时间:2011-07-20 22:08:41

标签: javascript string url

我是一名设计师,而不是JS编码员,所以任何帮助都会很棒。

使用javascript或jquery如何通过网址中的字符串替换页面上的内容?

因此,如果内容“A”只是通过此http://www.example.com的正常内容,并且“A”被内容“B”替换为此http://www.example.com/index.html?content=b

示例:

内容A

<div id="video-player">
vimeo code
</div>

将替换为内容B

<div id="video-player">
youtube code
</div>

通过网址中的字符串,如http://www.example.com/index.html?player=youtube 如果网址中没有字符串,那么它将默认显示vimeo代码

修改

好的,这就是我现在的html页面上的内容

<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<script type="text/javascript" src="js/test.js"></script>
</head>

<body>

<div id="video-player">
vimeo
</div>

</body>
</html>

并在js页面

window.location.href.split('?')[1].split('&')[0].split('content=')[1]
var content_value = window.location.hash.substring(1) // For hashses OR
var content_value = window.location.href.split('?')[1].split('&')[0].split('content=')[1] // For ?
if (content_value === "b") {
  $('#video-player').html(vimeo_code);
} else {
  $('#video-player').html(youtube_code);

是吗?

2 个答案:

答案 0 :(得分:1)

执行此操作最简单的方法是使用哈希标记。您可以使用?,但实施起来比较困难。因此,使用index.html?content=b而不是index.html#b使用window.location.hash.substring(1),然后您可以使用b来引用您的情景,这会在您的方案中为您提供?。然后,您可以使用if语句检查此值并相应地调整内容。

或者,如果您需要使用window.location.href.split('?')[1].split('content=')[1],那么您可以使用此window.location.href.split('?')[1].split('&')[0].split('content=')[1] ,但不保证在所有情况下均可使用,尤其是如果您有多个变量那里。对于多个变量,您可以使用

$(function () {
  var youtube_code, vimeo_code, content_value;
  youtube_code = "The code for Youtube goes here";
  vimeo_code = "The code for Vimeo goes here";
  content_value = (typeof window.location.href.split('player=')[1] !== "undefined") ? window.location.href.split('player=')[1] : "";

  if (content_value === "youtube") {
    $('#video-player').html(youtube_code);
  } else {
    $('#video-player').html(vimeo_code);
  }
});

您的完整代码现在将如下所示:

else if

如果您想要更多内容选项,也可以使用一些youtube_code。根据您选择的选项,使用前两行中的一行。

编辑:将代码更改为完整代码(并进行了一些优化)。除了将vimeo_codeplayer=更改为正确的值之外,您无需向此添加任何其他内容。

编辑:优化并检查网址中是否有{{1}}。

答案 1 :(得分:0)

我建议你使用ajax和xml。将xml文件放在您的dropbox文件夹中,您可以随时编辑该URL。

如果用户选择了一个选项,ajax将更新该值而不刷新浏览器。

好的是你可以在不登录html编辑器/网站cms的情况下更新你的手机网址,你也可以使用其他功能。