另一种在javascript中创建随机动态url的方法/阻止wpengine缓存
Another way to create random dynamic url in javascript/stop wpengine from caching
我在一个bigcommerce中包含了一个PHP文件(正式的插曲(。PHP 文件来自 wpengine 站点。包含该文件如下所示:%%Include.http://www.server.com/testing.php?store_id=4649b4c235fba82029176fa8a802c3%%
操作方法就在这里:http://www.interspire.com/support/kb/questions/209/How+do+I+Include+a+php,+html,+asp+or+any+other+type+of+file+in+an+Interspire+Knowledge+Manager+template+%3F
因此,一切正常,但是,所包含的文件包括每分钟更新一次的时钟,但是wpengine站点是通过他们自己的cdn 提供的,因此时钟仅每20分钟左右更新一次。如果我以任何方式更改 url,缓存将重置。
我可以通过将 url 保存为%%Include.http://www.server.com/testing.php?store_id=4649b4c235fba82029176fa8a802c3&variable=123456789%%
并再次保存为%%Include.http://www.server.com/testing.php?store_id=4649b4c235fba82029176fa8a802c3&variable=987654321%%
来重置缓存
但是如果我尝试通过添加 js 变量使其动态化:
<script>
variable = Math.floor(Math.random() * 1000) + 1;
document.write("%%Include.http://www.server.com/testing.php?store_id=4649b4c235fba82029176fa8a802c3&variable=" + variable + "%%");
</script>
它不起作用,我不太确定发生了什么。包含正确的文件和store_id,但变量似乎没有改变任何内容。
关于如何包含动态变量或其他方法来防止 CDN 缓存该页面的任何其他想法?
这取决于您在 BC 上使用它的文件,但您可以尝试附加 BC 在他们的某些 JS 文件上使用的缓存破坏字符串,它只使用我相信的日期/时间戳。
%%Include.http://www.server.com/testing.php?store_id=4649b4c235fba82029176fa8a802c3&variable=%%GLOBAL_JSCacheToken%%%%
以前没有尝试过这个,但我希望它对你有用!
尝试联系 WPE 支持并让他们从缓存中排除store_id
参数。
- 我该如何阻止单击方法多次工作
- java安全doPrivileged方法如何阻止任意脚本
- 使用jQuery的.on()方法阻止Ajax.BeginForm中提交的默认行为
- 使用javascript:在没有阻止html标记(<b>、<p>等)的情况下,阻止脚本的最佳方法
- 有没有一种方法可以阻止IE中键盘快捷键的传播
- 方法未捕获SecurityError:阻止了具有原点的帧
- 阻止特定DIV时,BlockUI抛出“没有方法'blockUI'”错误
- Node 的加密模块是否阻止,即使对于未定义为同步的方法也是如此
- JavaScript 打印被 Chrome 阻止,解决方法
- 另一种在javascript中创建随机动态url的方法/阻止wpengine缓存
- jQuery的css方法是否阻止,直到完全应用更改
- 是否存在清除从文档中删除的DOM子树的方法(至少可以阻止加载该子树中的图像)
- 有没有一种方法可以阻止用户从我的HTML页面中剪切和粘贴内容
- 使用JavaScript中的异步Web方法返回值触发/阻止页面事件
- 当我加载脚本时,我的全局变量不断刷新,有什么方法可以阻止这种情况吗
- 隐藏/禁用/阻止用户在浏览器的地址栏中键入的任何其他方法
- javascript正在寻找阻止用户复制和粘贴文本的方法
- 是否存在完全阻止popstate的方法
- 当项目停止在.NET中运行时,有没有办法阻止web方法工作
- Javascript-callCom方法阻止Firefox中的动画gif和计时器