首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过url字符串使用javascript更改页面上的内容

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

Stack Overflow用户
提问于 2011-07-21 06:08:41
回答 2查看 1.9K关注 0票数 0

我是一个设计师,而不是一个JS程序员,所以任何帮助都将是伟大的。

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

因此,如果内容'A‘只是通过此http://www.example.com的普通内容,并且如果通过此http://www.example.com/index.html?content=b将'A’替换为内容'B‘。

示例:

内容A

代码语言:javascript
复制
<div id="video-player">
vimeo code
</div>

将替换为内容B

代码语言:javascript
复制
<div id="video-player">
youtube code
</div>

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

编辑

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

代码语言:javascript
复制
<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页面中

代码语言:javascript
复制
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);

是那么回事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-21 06:22:08

要做到这一点,最简单的方法是使用散列标签。您可以使用?,但它更难实现。因此,不使用index.html?content=b,而使用index.html#b,然后您可以通过使用window.location.hash.substring(1)来引用它,这将在您的场景中为您提供b。然后,您可以使用if语句来检查此值并相应地调整内容。

或者,如果你需要来使用?,那么你可以使用这个window.location.href.split('?')[1].split('content=')[1],但它不能保证在每种情况下都能工作,特别是当你有多个变量的时候。对于多个变量,您将使用

代码语言:javascript
复制
window.location.href.split('?')[1].split('&')[0].split('content=')[1]

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

代码语言:javascript
复制
$(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_codevimeo_code更改为正确的值之外,您不需要添加任何其他内容。

编辑:优化并使其检查url中是否确实存在player=

票数 1
EN

Stack Overflow用户

发布于 2016-10-15 09:05:22

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

如果用户选择一个选项,ajax将在不刷新浏览器的情况下更新值。

好事情是你可以更新你的手机网址,而无需登录到html编辑器/网站cms,你也可以使用其他功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6769151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档