Javascript jquery查找并替换iframe src

Javascript jquery查找并替换iframe src,javascript,jquery,redirect,iframe,Javascript,Jquery,Redirect,Iframe,我需要在页面加载时在iframe中加载一个url(这是有效的),然后获取加载的iframe的整个url,然后将url保存为变量后,我希望找到“target”和“/”之间的任何文本(示例url我希望找到09576),然后使用找到的文本(09576)作为重定向url的一部分重定向整个页面 我知道,这不是一个很好的解释,也不是一个很好的解决方案,但任何帮助都将不胜感激 $(document).ready(function() { var iframe = $('#wmif');

我需要在页面加载时在iframe中加载一个url(这是有效的),然后获取加载的iframe的整个url,然后将url保存为变量后,我希望找到“target”和“/”之间的任何文本(示例url我希望找到09576),然后使用找到的文本(09576)作为重定向url的一部分重定向整个页面

我知道,这不是一个很好的解释,也不是一个很好的解决方案,但任何帮助都将不胜感激

$(document).ready(function() {
        var iframe = $('#wmif');
        var url = '<? echo "".$redirectlocation.""; ?>';
        iframe.attr('src', url);
        var searchurl = iframe.contentWindow.location;
        var rep = /(.*target\s+)(.*)(\s+\/.*)/;
        var target = searchurl.replace(rep, '$2');
        window.location = 'http://example.com/go/index.php?target='+target;
}); 
$(文档).ready(函数(){
变量iframe=$('#wmif');
var url='';
iframe.attr('src',url);
var searchurl=iframe.contentWindow.location;
var rep=/(.*target\s+)(.*)(\s+\/.*)/;
var target=searchurl.replace(rep,$2');
window.location=http://example.com/go/index.php?target="目标,;
}); 

iframe加载新位置没问题,但它不执行其他任何操作。

我将执行与下面类似的操作,结果相同,但使用
jQuery
和更新的
regex

$(document).ready(function () {
    var iframe = $('#wmif');
    var url = ''<? echo "".$redirectlocation.""; ?>';
    iframe.attr('src', url);
    //var searchurl = iframe.contentWindow.location; <- Invalid
    console.log($('#wmif').contents().get(0).location);
    var searchurl = $('#wmif').contents().get(0).location.href;
    console.log(searchurl);
    var rep = /.*\/target(\w+)\/.*/;
    var target = searchurl.replace(rep, '$1');    
    console.log(target);
    window.location = 'http://domain.com/go/index.php?target=' + target;
});
$(文档).ready(函数(){
变量iframe=$('#wmif');
var url='';
iframe.attr('src',url);
//var searchurl=iframe.contentWindow.location;另一个解决方案

var matches = /target\s?([^\/]+)/.exec('http://www.domain.com/user/target09576/index.php')


如果您不希望target和数字之间有空格,请将正则表达式修改为this
/(?:target)([^\/]+)/

在该正则表达式中,您有
target\s+
,它可能应该是
target\s*
var matches = /(?:target\s?)([^\/]+)/.exec('http://www.domain.com/user/target09576/index.php')
console.log(matches[1]);    //  09576