Вопрос:

Принудительно использовать протокол http в файле Javascript из локального протокола.

javascript jquery html5 cordova iframe

98 просмотра

1 ответ

1867 Репутация автора

Мы используем 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

Так что он получит наш файл: // протокол автоматически. Но даже я изменяю это на

https://secure.opentable.com

Это все еще не работает на местном. Я заметил, что в их JS-источнике они все еще использовали «//», который каким-то образом получит наш протокол «file: //».

Вот ошибка после того, как я изменил ссылку на https://secure.opentable.com/ ...

Не удалось загрузить ресурс: запрошенный URL не найден на этом сервере.

Файл: //www.opentable.com/widget/reservation/canvas избавиться = 27763 & домен = ком и тип = стандарт & тема = стандартная и LANG = EN & покрышка = ложь и insideiframe = истина

Я заметил, что в консоли это выглядит так:

введите описание изображения здесь

Как я могу заставить это работать для местной среды?

Спасибо!

Автор: jackhao Источник Размещён: 22.08.2016 09:27

Ответы (1)


1 плюс

478192 Репутация автора

Решение

Может быть, это будет работать:

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

Он ожидает, пока документ не будет готов, что должно быть после добавления нового IFRAME в DOM, а затем заменяет его srcна https:протокол.

Автор: Barmar Размещён: 22.08.2016 10:02
Вопросы из категории :
32x32