Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从window.location设置iFrame src_Javascript_Jquery_Url - Fatal编程技术网

Javascript 从window.location设置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

使用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&form=product\u search”


  • 非常感谢!!!!

    我不确定您在上述解决方案中使用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;
            }
        }
    
    })();