Javascript 从window.location设置iFrame src
使用jQuery或javascript,我对此进行了摸索,最终让步了 如何设置iframe src,如下所示:Javascript 从window.location设置iFrame src,javascript,jquery,url,Javascript,Jquery,Url,使用jQuery或javascript,我对此进行了摸索,最终让步了 如何设置iframe src,如下所示: 如果窗口URL包含以“?sku=”开头的参数 从缓存整个参数?结束(?sku=T235N&addressline=90803&form=产品搜索) 是否将iframe src从/index.html更改为/default.html+参数 更改iframe src=“/index.html to src=“/default.html?sku=T235N&addressline=90803
非常感谢!!!!我不确定您在上述解决方案中使用javascript做了哪些尝试,即使在fiddle中,我也看不到任何javascript 我建议你浏览下面的帖子 上面的帖子将有助于获取参数“sku” 现在,如果有任何相同的值,可以通过
document.getElementById("iframeid").src = "default.html?sku="+sku
只需在窗口位置中找到“?”并设置src:
var url = window.location;
var pos = url.indexOf('?');
var query = url.substring(0,pos+1);
然后用JQuery设置它:
$('iframe').attr('src','/default.html?'+query);
document.getElementByid(“changeIframe”).src='10〕http://hosted.where2getit.com/asics//default.html?sku=T235N&addressline=90803&form=product_search"'
您可以这样尝试
$(function () {
var url = parseUrl(window.location.pathname).search;
if (url.match("sku").length > 0) {
$('#iframe1').attr('src', '/default.html' + url);
}
});
function parseUrl(url) {
var a = document.createElement('a');
a.href = url;
return a;
}
首先,给你的
iframe
一个id
,这样我们就可以getElementById
:
<iframe src="http://hosted.where2getit.com/asics/index.html" id="sku_frame"
在Firebug或Chrome控制台中使用
console.log(window.location)
并查看该对象中的内容。然后使用window.addEventListener
/window.attachEvent
监听页面加载,并使用位置
对象中有用的内容设置iframe
的src
属性。Jared谢谢你,但我是jQuery新手。我该如何编码呢?看看这个提琴:注意,它不会做任何事情,因为找不到sku
。但这在实践中应该行得通。贾里德,谢谢你。如果我将参数传递给fiddle url,它不会更新iframe源。没有一种简单的方法可以让jsFiddle模仿它;它实际引用的窗口是右下方显示内容的iframe
。如果没有jsFiddle
抓狂,修改它就不是那么简单了。另外,请注意,您使用的是基本相对URL,例如,/default.html
。您还需要在JSFIDLE上对此进行补偿,因为它将指向http://fiddle.jshell.net
取而代之。贾里德,再次感谢你。我把它放在了中间,但仍然没有工作——也许我错过了什么?您使用的是XHTML DOCTYPE,这意味着您的脚本
标记必须是/
。除非您有充分的理由使用XHTML(除了“我使用它来检查标记中的错误”),否则不要使用XHTML;使用HTML5,即
。如果你用控制台打开该页面,你会看到它在代码块末尾的空格上抛出非法字符错误。显然,在代码块末尾也有一些垃圾(可能是编码错误)。无论如何,您也不需要将?
放在default.html
上<代码>位置。搜索
已经有了它。在这里,它正在“工作”(url加载一个空响应)。但是,我在IFRAME src
中显示URL,并将边框涂成蓝色,这样您就可以知道发生了什么。在这里它不起作用:它起作用了。它允许我从表单提交中定位iframe位置
<iframe src="http://hosted.where2getit.com/asics/index.html" id="sku_frame"
(function load(){
if (window.addEventListener) {
window.addEventListener('load', run);
} else if (window.attachEvent) {
window.attachEvent('onload', run);
}
function run() {
var hassku = !!(location.search.indexOf('sku=') + 1);
if (hassku) {
document.getElementById('sku_frame').src = '/default.html' + location.search;
}
}
})();