使用新的字符串参数触发javascript而不刷新页面

时间:2014-04-29 14:38:22

标签: javascript jquery

我不知道如何正确地标出标题来解释我需要帮助的内容,所以这就是我的故事..

下面的代码会在其中写入一个带有视频的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 /视频 - 并且没有页面刷新(好吧,刷新只会使任何更改无效并再次恢复到旧脚本)。

顺便说一句,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");

再次感谢!

1 个答案:

答案 0 :(得分:0)

是否可以将脚本标记包装在div中(id =&#34; myDiv&#34;),然后使用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>

然后调用功能点击按钮或图标以加载新视频:

//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>';
}