2014-03-25 49 views
0

我在我的cloudflare帐户中启用了Rocketloader,这可能是问题,但我该如何解决它?Cloudflare停止javascript将变量传递到外部文件

这种情况是我有一个外部文件login.js,它处理整个站点的登录表单,但是当用户在没有登录的时候访问一个页面时,请求的url被追加到登录页面。未登录时访问foo.com/secure/page26的示例会导致指向foo.com/login.php?back=secure/page26。所以我的登录页中,我有以下设置:

<script>var BackURL="secure/page26";</script> 
<script src="login.js"></script> 

login.js我:

** SUCCESFULLY LOGGED IN SCRIPT HERE ** 
window.location.href = "/"+BackURL; 

但是,这并不工作,我想这是由于Rocketloader,但我怎么能得到在这附近?

回答

0

您可以将BackUrl参数存储在Cookie中,并在您每次登录时检查该Cookie是否存在。如果已定义,请将其删除并将用户重定向到其值。

+0

我试图避免在这个项目中过度使用cookies(即仅为登录用户存储会话cookie),我应该提到这一点。 –

+0

无论采取什么方法,您当前的cloudflare缓存策略都足以抵消查询字符串。也许你可以尝试降低缓存策略到下一步。 – amenadiel

+0

我在直接子域名上测试站点,完全通过搜索cloudflare,但仍然无法正常工作。 –

0

“但这不起作用,我猜这是Rocketloader的原因,但我该如何解决这个问题?”

简单的方法来检查这将是简单地禁用在您的设置&火箭加​​载程序,然后再试一次(可能需要刷新你的浏览器缓存后)。您也可以在您的设置中完全暂停CloudFlare,以查看行为是否改变)。