Запуск JavaScript с новыми строковыми параметрами без обновления страницы

0

Я не знал, как правильно сформулировать заголовок, чтобы объяснить, с чем мне нужна помощь, поэтому вот моя история..

В приведенном ниже коде записывается iframe с видео в нем:

<script type="text/javascript" src="http://sv.liveclicker.net/service/getEmbed?client_id=1915&amp;widget_id=1372752183&amp;player_custom_id=2264&amp;height=450&amp;width=800&amp;autoplay=false"></script>

Я не могу напрямую вносить изменения в сценарий выше, так как я могу удалить этот скрипт (и сгенерированный iframe), а затем снова вызвать тот же скрипт с измененными параметрами (высота и ширина), чтобы выписать новый iframe/video с моим новые размеры - и без обновления страницы (ну, обновление будет просто отменять любые изменения и снова вернуться к старому сценарию).

Кстати, client_id, widget_id и player_custom_id должны оставаться такими же, как и на странице.

Если это можно сделать в jQuery, это было бы потрясающе (только началось обучение).

Спасибо за вашу помощь всем.

Дополнительная информация: В chrome, когда я нажимаю на этот скрипт src, он дает мне следующее:

if (!window.liveclicker) window.liveclicker = {};
if (!window.liveclicker || !liveclicker.receiveMessage) {
    var lcs = document.createElement('script');
    lcs.src = "http://sv.liveclicker.net/service/scripts/html5_js_c.js";
    lcs.type = "text/javascript";
    document.getElementsByTagName('head')[0].appendChild(lcs);
}

document.write('<iframe id="video_1372752183" name="video_1372752183" src="" width="800" height="450" frameBorder="0" scrolling="no" style="border:0;" webkitAllowFullScreen mozAllowFullScreen allowFullScreen></iframe>');
liveclicker.post_to_name = function (path, params, name) {
    var form = document.createElement("form");
    form.setAttribute("method", "post");
    form.setAttribute("action", path);
    form.setAttribute("target", name);
    for (var key in params) {
        if (params.hasOwnProperty(key)) {
            var hiddenField = document.createElement("input");
            hiddenField.setAttribute("type", "hidden");
            hiddenField.setAttribute("name", key);
            hiddenField.setAttribute("value", params[key]);
            form.appendChild(hiddenField);
        }
    }
    document.body.appendChild(form);
    form.submit();
};
liveclicker.post_to_name("//player.liveclicker.com/video-player/index.php\?widget_id=1372752183&accountid=1915&urlaccount=http://www.dhccare.com&accountCDN=http://ecdn.liveclicker.net/0079A8/cdn/&setrefererURL=http%3A%2F%2Fdhcstaging.liveclicker.com%2F&navfile=TODO&iframeDiv=video_1372752183&channel=0&player_custom_id=2264", {
    'shopapp_gview_buynow_avail': 0,
    'knobsEnabled': 'false',
    'shopapp_dview_buynow_avail': 0,
    'shareAvailable': 'false',
    'pseudo_streaming': 'true',
    'snapshotFeaturev2': 0,
    'buyAvailable': 'false',
    'navBuyNow': 'false',
    'aspectRatio': '16:9',
    'autostart': 'false',
    'ratingAvailablev2': 'false',
    'mosaic_skin': 'true',
    'sizing': 'crop',
    'channel': 2
}, "video_1372752183");

Еще раз спасибо!

  • 0
    Скорее всего, вам нужно будет проверить HTML-код, сгенерированный этим скриптом. Как только вы узнаете, как выглядит DOM, вы можете использовать JQuery для выполнения всего, что вам нужно: получать значения атрибутов, удалять элементы, создавать новые элементы, устанавливать стиль элементов CSS и т. Д.
Теги:

1 ответ

0

Можно ли обернуть тэг скрипта в div (id = "myDiv"), а затем загрузить новые видео/удалить предыдущее видео с помощью innerHTML следующим образом?

//Video1
<div id="myDiv">
<script type="text/javascript" src="http://sv.liveclicker.net/service/getEmbed?
client_id=1915&amp;widget_id=1372752183&amp;player_custom_id=2264&amp;height=450&amp;width=800&amp;autoplay=false"></script>
</div>

затем вызовите функцию onclick кнопки или значка для загрузки нового видео:

//New script here...not sure what your script would be so I just put previous one..you can add height and width as parameters onclick...num1 and num2 would be what you need them to be

<button type="button" onclick="changeVideo(num1, num2)">Click</button>

function changeVideo(height, width) {
    document.getElementById("myDiv").innerHTML = '<script type="text/javascript"     
src="http://sv.liveclicker.net/service/getEmbed?client_id=&amp;widget_id=1372752183&amp;player_custom_id=2264&amp;height=' + height + '&amp;width=' + width + '&amp;autoplay=false"></script>';
}
  • 0
    Благодарю. Это на самом деле завернутый в div. Я попробовал вашу идею, но теперь я получаю это в chrome: Не удалось выполнить «запись» в «Документ»: невозможно выполнить запись в документ из асинхронно загруженного внешнего сценария, если он явно не открыт.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню