我有一个包含使用iframe的嵌入式页面的网页。我已经解析了URL以将参数附加到主URL以创建新链接,但现在需要将路径传递到iframe src,以便在单击链接时加载页面。
iframe码
<iframe name= "myiframe" id = "load" src="https://www.site-name.com/Manual/application.htm">
解析url的jQuery代码
$(document).ready(function () {
var URL = 'https://www.site-name.com/f1'; // MAIN
var otherURL = 'https://www.site-name.com/Manual/module_1_4_2.htm'; // iframe URL
//Create a new link with the url as its href:
var a = $('<a>', {
href: otherURL
});
var sResult = '<b>Protocol:</b> ' + a.prop('protocol') + '<br/>' + '<b>Host name: </b>' + a.prop('hostname') + '<br/>' + '<b>Path: </b>' + a.prop('pathname') + '<br/>'
var path = a.prop('pathname'); // pass the path to the MAIN URL
var newURL = URL + "?page="+ path.substring(path.lastIndexOf('/') + 1);
// display new URL
$('span').html(sResult + "<br><b>New URL: </b>" + newURL);
// Correctly displays
// New URL:https://www.site-name.com/f1? page=module_1_4_2.htm
新的url现在是
https://www.site-name.com/f1?page=module_1_5_3.htm
这很有效,但现在我需要将查询路径传递给iframe src,以便在单击链接时加载页面。
我要做的是将路径传递给iframe src。
如何将路径变量传递给iframe src。
最佳答案
使用jQuerys函数load()
更改iframe的src
属性。
var url = $("#load").attr ('src');
var a = $('#link');
var path = a.prop ('pathname');
var redirectUrl = url + "?page="+ path.substring (path.lastIndexOf ('/') + 1);
$('#load').load (redirectUrl);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<iframe name="myiframe" id="load" src="https://www.site-name.com/f1"></iframe>
<br/>
<a id="link" href="https://www.site-name.com/f1?page=module_1_5_3.htm" target="myiframe">TEST LINK</a>