我目前面临的问题如下。我有两个链接,链接A到商店的首页/主页,链接B到商店中的一个特定页面,例如一个产品类别。为了使链接B正确地拉出页面(空白页),需要访问链接A。我的猜测是链接A设置了cookie/会话的人,然后允许旅行在整个商店。
我想到的解决方案是,当用户按下链接B时,调用链接A,就好像他们按了链接A一样,而没有物理地重定向到链接B。
我读过一些关于这方面的其他问题,但他们并没有真正解决我的困境。最接近它的是:redirect without to leave the current page
我正在用html/php开发一个网站。我没有使用上述问题中提到的术语/职能。我确实读到了另一个问题,但找不到它,但是我运行的是php5.4.3版本(在php5.4.3中包含了一张提到cURL的海报)。这是否意味着cURL已经安装,还是我必须安装它?
编辑:我问上面的原因是因为商店不是由我经营和管理的。在这种情况下,我是一个独立的分销商,商店由分销商持有和运行。
发布于 2014-04-26 17:37:52
您最好的希望是在您自己的页面中创建一个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);
}FYI,您也可以在完成此操作一次之后对您自己的页面进行cookie设置,这样您就可以知道您可能不必在某些cookie过期时间内再次进行此操作(您可以在站点A上调查cookie过期期)。
FYI,你将需要确保网站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);
});FYI,您可以使用class="directLink"在页面中拥有任意数量的链接,这段代码将管理所有链接。
https://stackoverflow.com/questions/23314169
复制相似问题