1

出于某种原因,我的页面上有一个 iframe:

<iframe src="/widget?id=2"/>

我的 js 代码中有变量地址

var address = 'some street';

我需要向 iframe src 属性添加一个新参数,使其看起来像:

<iframe src="/widget?id=2&address=some%20street"/>

我希望:

  • 不用关心地址变量的格式是什么:它不仅可以包含空格,还可以包含逗号、分号等(以某种方式由用户插入);
  • 不要进行丑陋的字符串操作,这总是难以阅读;
  • 能够以更优雅的方式处理多个参数(不仅是地址)。

例如,在Ruby on Rails中合并url参数非常简单:

params.merge {:address => address}

如果可能的话,我想要在 jQuery 中使用类似的东西。

4

1 回答 1

0

我目前(粗略和快速)的实现是:

var src = $('iframe').attr('src');
var new_src = src.replace(/([?&])address=[^$&]*/,'$1address='+encodeURI(address));;
if (src == new_src) new_src = src+'&address='+encodeURI(address);
$('iframe').attr('src',new_src);
于 2013-03-24T08:16:13.037 回答