总体思路:在iframe所在当前页面地址url后拼接 #+targetUrlhtml
<a href="url" target="iframeId" onclick="loadIframe($(this))">a标签跳转iframe</a>
// iframe模板刷新后页面跳转问题解决--start function loadIframe(url) { //获取url连接 var u = window.location.href; //由于每次获取的连接中都有以前的旧锚点, //因此须要把#以后的旧锚点去掉再来加新的锚点(即传入的url参数) var end = u.indexOf("#"); var rurl = u.substring(0,end); if(rurl == ''){ rurl="当前页面url" } //设置新的锚点 window.location.href = rurl + "#" + url; } window.onhashchange = function() { //location.hash取到的是url连接中#(包括本身)后面的内容 var hash = location.hash; //去掉#号,获得的就是咱们要设置到iframe中src上的地址 var url = hash.substring(1,hash.length); $("#iframeId").attr("src", url); } document.addEventListener('DOMContentLoaded', function () { var hash = location.hash; var url = hash.substring(1,hash.length); $("#iframeId").attr("src", url); }, false) // iframe模板刷新后页面跳转问题解决--end
iframe标签内a标签跳转,父页面添加以下方法this
// iframe标签内链接跳转,刷新停留在当前页面 function changeUrl(elem) { loadIframe(elem.attr('href')); }
iframe标签内调用父页面js方法用 window.parent.jsfun() 调用。 参考网址:https://www.cnblogs.com/zhuxiaojie/p/5990262.html 里面有些错误!url