【发布时间】:2013-11-18 17:43:21
【问题描述】:
嗯,所以我有代码可以在名为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),所以我需要通过 javascript 从global.js 函数并以某种方式将其放入 page2.html 页面中,以告诉它为不同的 url 而不是 http://mydomain.com 加载 iframe。
最好的方法是什么?所以,如果你去这里:http://cdficonnect.org 在你的台式电脑上,你会注意到它在 iframe 中加载页面,但如果你去这里:http://www.cdficonnect.org/#/pages/articles/317 它仍然会将主页加载到 iframe 中,而不是那个 url .如何告诉它加载该网址而不是主页?
听起来很简单,但实施起来有问题。
此处使用 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
【问题讨论】:
-
要么将 URL 放入 cookie 中,要么将其作为查询参数添加到重定向 URL 中。
-
已经尝试过 cookie 方法,但由于某种原因,URL 没有正确存储在 cookie 中...奇怪
-
除非您显示您的代码,否则我们无法帮助您解决此问题。
-
更新了我如何设置/获取 cookie 的代码。
-
问题是您在
cdiconnect.com中设置cookie,并试图在www.cdiconnect.com中读取它。由于setCookie没有指定cookie 应该在子域中可用,所以它无法读取它。尝试将domain=cdiconnect.com;添加到 cookie。
标签: javascript jquery iframe