我们正在使用HTML5开发手机应用,这意味着手机上的本地协议为 file:// 。我们现在正试图在我们的页面上包含Opentable的小部件。但他们的小部件JS链接看起来像:
<script type='text/javascript> src='//secure.opentable.com/widget/reservation/loader?rid=27763&domain=com&type=standard&theme=standard&lang=en&overlay=false&iframe=true'></script>
请注意,它以
开头//secure.opentable.com
因此它会自动获取我们的 file:// 协议。但即使我把它改为
https://secure.opentable.com
它仍不适用于本地。我注意到在他们的JS源代码中,他们仍然使用“//”,这将以某种方式仍然获得我们的“file://”协议。
将链接更改为 https://secure.opentable.com/后,出现错误...
无法加载资源:未在此处找到请求的网址 服务器
文件://www.opentable.com/widget/reservation/canvas摆脱= 27763&安培;域= COM&安培;类型=标准&安培;主题=标准&安培;朗= EN&安培;覆盖=假安培; insideiframe =真
我注意到在控制台中它看起来像:
如何让它适用于本地环境?
谢谢!
答案 0 :(得分:1)
也许这会奏效:
$(document).ready(function() {
$("iframe[src^='//www.opentable.com']").attr('src', function(i, oldsrc) {
return "https:" + oldsrc;
});
);
它等待文档准备就绪,应该在将新的IFRAME添加到DOM之后,然后用src
协议替换它https:
。