使用jQuery / Javascript将请求的url放入iframe

时间:2013-11-18 17:43:22

标签: javascript jquery iframe

嗯,所以我的代码会在名为page2.html的网页上加载iframe。 iframe当前加载网站的主页(http://mydomain.com)。但是,我想要做的是将任何页面请求放在iframe中。

所以,如:http://mydomain.com/mypage/mysubpage

这需要从javascript / jquery中获取并传递到iframe src值。这听起来很容易,但是,它们是一个global.js文件,重定向到另一个页面(page2.html),而不是输出iframe(加载http://mydomain.com),所以我需要传递一个变量通过global.js函数中的javascript并以某种方式将其放入page2.html页面,告诉它为不同的网址而不是http://mydomain.com加载iframe。

这样做的最佳方法是什么?所以,如果你去桌面电脑上http://cdficonnect.org,你会注意到它会在iframe中加载页面,但是如果你去了这里:http://www.cdficonnect.org/#/pages/articles/317它仍会将主页加载到iframe中而不是那个网址。如何告诉它加载该网址而不是主页?

听起来很简单,但在实施方面遇到了问题。

Cookie方法:

在重定向器脚本中,重定向之前......

function setCookie(c_name,value,exdays)
{
  var exdate=new Date();
  exdate.setDate(exdate.getDate() + exdays);
  var c_value=escape(value) + 
    ((exdays==null) ? "" : ("; expires="+exdate.toUTCString()));
  document.cookie=c_name + "=" + c_value + ";domain=cdficonnect.org";
}

setCookie('curURL', document.URL, 0);

在desktop.html中,在头部:

function getCookie(c_name)
{
 var i,x,y,ARRcookies=document.cookie.split(";");
 for (i=0;i<ARRcookies.length;i++)
 {
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
  {
   return unescape(y);
  }
 }
}

var curURL = getCookie('curURL');
$('iframe').attr('src', curURL);

无论我在地址中输入的是什么网址,都会在iframe中显示主页:http://cdficonnect.org

1 个答案:

答案 0 :(得分:1)

尝试使用HTML的localStorage

在重定向器脚本中,重定向之前......

function storeLocal(label,value)
{
  window.localStorage.setItem(label,value);
}

storeLocal('curURL', document.URL);

在desktop.html中,在头部:

function getStorage(label)
{
 return window.localStorage.getItem(label);
}

var curURL = getStorage('curURL');
$('iframe').attr('src', curURL);

工作jsFiddle:http://jsfiddle.net/RqkUk/