javascript - 从本地协议(protocol)强制 Javascript 文件中的 http 协议(protocol)

标签 javascript jquery html cordova iframe

我们正在使用 HTML5 开发手机应用程序,这意味着我们手机上的本地协议(protocol)是 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://协议(protocol)。但即使我将其更改为

https://secure.opentable.com

它仍然无法在本地运行。我注意到在他们的 JS 源代码中,他们仍然使用“//”,这仍然会以某种方式获得我们的“file://”协议(protocol)。

这是我将链接更改为 https://secure.opentable.com/后出现的错误...

Failed to load resource: The requested URL was not found on this server.

file://www.opentable.com/widget/reservation/canvas?rid=27763&domain=com&type=standard&theme=standard&lang=en&overlay=false&insideiframe=true

我注意到在控制台中它看起来像:

enter image description here

如何使其适用于本地环境?

谢谢!

最佳答案

也许这会起作用:

$(document).ready(function() {
    $("iframe[src^='//www.opentable.com']").attr('src', function(i, oldsrc) {
        return "https:" + oldsrc;
    });
);

它会等到文档准备好,这应该是在将新的 IFRAME 添加到 DOM 之后,然后将其 src 替换为具有 https: 协议(protocol)的文件.

关于javascript - 从本地协议(protocol)强制 Javascript 文件中的 http 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39089006/

相关文章:

javascript - 跨域消息传递的语法错误

javascript - 选择其中包含 href 的项目

带有一个输入 "text"的 html 页面。焦点在哪里?

javascript - 响应式 jquery 导航交互 - 调整大小问题

html - CSS 添加的字符后的行

javascript - Watchify - Uncaught ReferenceError : require is not defined

javascript - 在 Angular 执行 JavaScript 缩小后,如何保留特定的变量名称?

javascript - 使用带有 ajax 和 jquery 的 js 模糊的 Laravel 电子邮件验证

javascript - jquery - ajax - 不使用 Internet Explorer 加载 php 文件

javascript - jQuery 连接格式(字符串和条件语句)