此刻我面临的问题如下。我有2个链接,链接A进入商店的首页/主页,链接B进入商店内的特定页面,例如产品类别。为了使链接B正确地拉页面(空白页面),它需要访问链接A.我的猜测是,链接A设置了所述人的cookie /会话,然后允许在整个商店中旅行。
我想到的解决方案是当用户按下链接B时,调用链接A,就好像他们最初按下它而没有物理重定向到它然后重定向到链接B.
我已经阅读了其他一些有关此事的问题,但他们并没有真正回答我的困境。最接近它的是:redirect without to leave the current page
我正在用html / php开发一个网站。我没有使用上述问题中提到的术语/功能。我确实读过另一个问题,找不到它,关于cURL然而我正在运行php版本5.4.3(一张海报提到cURL包含在php 5.4.3中)。这是否意味着已经安装了cURL,或者我是否必须安装它?
编辑:我之所以提出这个问题的原因是因为商店是由我运营和管理的。情况是我是独立分销商,商店由经销商持有并经营。
答案 0 :(得分:0)
您最好的希望是在自己的页面中创建一个iframe(它不必非常大,甚至可能不必显示)并将链接“A”加载到iframe中。当iframe完成加载后,您可以让用户链接“B”。假设站点“A”没有阻止自己加载到iframe中,那么应该用于建立任何站点初始化代码(如cookie)。
由于A和B都是与您自己的页面不同的域,因此您无法直接对这些页面执行任何操作。
您可以动态创建iframe并监视加载方式,如下所示:
function preloadSiteThenRedirect(linkA, linkB) {
var iframe = document.createElement("iframe");
iframe.onload = function() {
window.location = linkB;
};
iframe.src = linkA;
// position iframe off screen to the left
iframe.style.position = "absolute";
iframe.style.left = "-1000px";
iframe.style.width = "800px";
iframe.style.height = "800px";
document.body.appendChild(iframe);
}
仅供参考,您也可以在完成此操作后对自己的页面进行Cookie操作,以便您知道在某个Cookie过期时间内可能无需再次执行此操作(您可以调查网站A上的Cookie过期时间) )。
仅供参考,您需要确保网站A允许自己被框架化。有些网站没有。对于不防止陷害的网站,上述逻辑似乎有效。
这是一个有效的演示:http://jsfiddle.net/jfriend00/TXTx9/
对于您页面中站点B的链接,您可以这样做(我假设您从其他一些评论中获得了jQuery):
HTML:
<a class="directLink" href="link B">Go directly to Product B</a>
使用Javascript:
$(".directLink").click(function(e) {
// prevent action of the link
e.preventDefault();
// call the preload, then redirect function
preloadSiteThenRedirect("URL to main page", this.href);
});
仅供参考,您可以使用class="directLink"
在页面中添加任意数量的链接,此代码将管理所有这些链接。