我有一个带有iframe的页面,可以在列表中输出第三方内容
每项内容均位于li
,其中包含唯一的等级item-X
<li class="item-1">
<a href="item-1.html">View Item 1</a>
</li>
<li class="item-2">
<a href="item-2.html">View Item 2</a>
</li>
我正在寻找一种方式:
用户访问
www.parent-domain.com/?view_item=1
iframe会读取此地址,并模拟所引用的click
上的item
。
iframe内的内容使用onLoad('parent-domain.com/foo.html)
加载代理HTML文件,我可以添加JS。 (据推测这是为了解决同源政策)。
这甚至可能吗?
onLoad();
li a
上触发点击事件
答案 0 :(得分:0)
我建议您将父查询字符串传递给iframe(使用服务器端代码等)。
然后,您可以从查询字符串中轻松检索“view_item”:
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
然后你只需找到带有id的链接并触发点击:
var link = document.getElementbyId(getParameterByName("view_item"));
link.click();