javascript - 如何将 iFrame 的部分 URL 更改为随机字符串?

标签 javascript jquery html iframe

考虑这个简单的 iFrame:

<iframe src="http://example.com/iframe/?user=123&name=test"
  width="200" height="200"></iframe>

我想要的是随机改变部分test

例如改变这个

src="http://example.com/iframe/?user=123&name=test"

像这样:

src="http://example.com/iframe/?user=123&name=yxcvb"

该字符串应包含字母表中的随机字母,长度最多为 10 个字符,例如:

src="http://example.com/iframe/?user=123&name=qwertzuiop"

最佳答案

我相信这对你有用: Random alpha-numeric string in JavaScript?

只需生成一个随机字符串(1 到 10 个字符之间),然后将其分配给 iframe 的名称属性。

我为您整理了一个 fiddle :http://jsfiddle.net/4agLwfe8/

<iframe id="iframe" src="http://www.facebook.com?user=123&name=test" width="200" height="200">

此解决方案假设您没有使用 JQuery,因为您说过您不确定如何执行此操作,所以它是一个简单的 JavaScript 解决方案。

首先,您有一个简单的 iframe。我只是用 facebook 作为一个简单的例子。我还给它添加了一个 ID。

然后我使用了下面的 JavaScript

function randomNumber(){
    return Math.floor(Math.random() * 10) + 1;  
}

function randomString(length, chars) {
    var result = '';
    for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
    return result;
}

var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var iframe = document.getElementById("iframe");
var iframeSrc = iframe.src;
var newIframeSrc = iframe.src.substring(0,iframe.src.indexOf("name")) + "name=" + randomString(randomNumber(), chars);
iframe.src = newIframeSrc;

首先有两个函数。第一个生成 1 到 10 之间的随机数,这将是查询字符串中“name”参数的字符长度。第二个函数生成这个随机字符串,传入生成的随机数,以及您指定可以使用的字符串(来 self 链接到的初始解决方案)。

从那里,我只需通过我给它的 ID 选择 iframe 并获取它的来源。对于源代码,我只是用子字符串删除了“name”参数和它的值,然后附加新的“name”参数和它的新值。最后,我将 iframe 的新源分配回 iframe。事后看来,我意识到我本可以避免砍掉“name=”只是为了再次添加它,但我在早上 6:30 开始看这个,当时我的大脑还没有完全清醒。 :)

关于javascript - 如何将 iFrame 的部分 URL 更改为随机字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34120393/

相关文章:

javascript - Jquery 行删除对我不起作用,如何设置?

javascript - 防止 jQuery click() 冲突

javascript - 有没有办法用 Angular 原生国际化机制来翻译绑定(bind)?

javascript - jquery中如何向下滚动

html - 在特定位置放置带有悬停图像的圆圈

html - CSS - 视差图像不工作

javascript - 自动制作所有图像 Bootstrap 响应类

javascript - 为什么我的表单提交还在刷新页面?

javascript - 物体之间的最短距离

jquery - 如何检查 json 数据中的值是否为 null