0

こんにちは、twitch から埋め込みコード内のオブジェクトのデータとパラメーターの値を変更しようとしています。
私はJavaScriptが得意ではないので、助けが必要です。
私は運が悪いと私の研究をしました。
すべての助けに感謝します:)


変更したい埋め込みコード (これは新しい埋め込みコードで、編集はありません)

<object type="application/x-shockwave-flash" height="378" width="620" id="live_embed_player_flash" data="http://www.twitch.tv/widgets/live_embed_player.swf?channel=thelifeisyours" bgcolor="#000000">
    <param name="allowFullScreen" value="true" />
    <param name="allowScriptAccess" value="always" />
    <param name="allowNetworking" value="all" />
    <param name="movie" value="http://www.twitch.tv/widgets/live_embed_player.swf" />
    <param name="flashvars" value="hostname=www.twitch.tv&channel=thelifeisyours&auto_play=true&start_volume=25" />
</object>


ここに私がこれまでに得たjsがありますが、動作しません:P (私はjsの初心者であることを思い出してください)

function changestream1(){
    var streamIn = document.getElementById('stream1').value;
    var objData= document.getElementById('live_embed_player_flash');
    var param = document.getElementById('param');

    objData.setAttribute("data", "http://www.twitch.tv/widgets/live_embed_player.swf?channel=" + streamIn); 
    param.setAttribute("value", "hostname=www.twitch.tv&channel=" + streamIn + "&auto_play=true&start_volume=25"); 
}

アイデアは、js がオブジェクトにデータを作成し、パラメーターに値を作成するというものです。


私がこれをどのように考えているかのビジュアルが必要な場合は、リンクを押してください:D
JsFiddle

これが使用されるWebサイトへのリンク
twitchgrabber

4

1 に答える 1

1

ここに + 記号がありません streamIn + "&auto_play=true&start_volume=25"

すべてのコードを確認する必要があります。cameCase で呼び出しているときに関数に小文字で名前を付けたり、すべての変数を確認したり、firebug をインストールしたり、コンソールでログを確認したりするなど、他のエラーがあります...

これはうまくいくはずです

<script type="text/javascript">
    function changestream1() {
        var streamInput = document.getElementById('streamName').value;
        var streamIn = ''; //This variable is not defined yet used on the last line of this block;
        var object = document.getElementById('live_embed_player_flash');
        var param = document.getElementById('param');
        object.setAttribute("data", "http://www.twitch.tv/widgets/live_embed_player.swf?channel=" + streamInput);
        param.setAttribute("value", "hostname=www.twitch.tv&channel=" + streamInput + "&auto_play=true&start_volume=25" + streamIn);
}
</script>
<div id="streamHolder">
    <object type="application/x-shockwave-flash" height="378" width="620" id="live_embed_player_flash" bgcolor="#000000">
        <param name="allowFullScreen" value="true" />
        <param name="allowScriptAccess" value="always" />
        <param name="allowNetworking" value="all" />
        <param name="movie" value="http://www.twitch.tv/widgets/live_embed_player.swf" />
        <param id="param" name="flashvars" />
    </object>
</div>
<div id="buttons">
    <input type="text" id="streamName" placeholder="Enter Streamer Name Here" style="width:12em;">
    <input type="button" id="button1" onclick="changestream1();" value="Change Stream">
</div>
<p>The name you enter will get put where the "streamInput" variable is in the javascript
<br>that is the general idea atleast</p>
于 2013-09-13T17:34:47.303 に答える