3

DIV内にフラッシュオブジェクトが埋め込まれています。ここで、そのdivの上のリンク(「a」タグ)を使用して、ユーザーがそのフラッシュダイヤラー、より具体的にはそれが含まれているdivタグをリロードできるようにします(フラッシュファイルを変更することはできません)。

以下でこのJS関数を使用してみましたが、機能しません(「reload」リンクをクリックしたときにdivとコンテンツをリロードしません。

<div class="userProfile">
<script type="text/javascript">
     function refreshDialer(){
             document.getElementById("dialerDiv1").contentWindow.location.reload(true);
            }
</script>
<a href="javascript: refreshDialer()">Reload</a>
<div id="dialerDiv1">
    <embed type="application/x-shockwave-flash" wmode="opaque"                     
            src="http://dummysite.com"
            width="301"
            height="401"
            id="popUpSwf"
            name="popUpSwf"
            quality="high"
            border="none"
            allowscriptaccess="always"
                            pluginspage="http://www.adobe.com/go/getflashplayer"
            scale="noscale"
            menu="false"
            flashvars="#" />
</div>
</div>

私はここで何が間違っているのですか?

ありがとう

4

2 に答える 2

8

これを試して:

function refreshDialer(){
   //alert("In function");
   var container = document.getElementById("dialerDiv1");
   var content = container.innerHTML;
   //alert(content);
   container.innerHTML= content;
}

例としてYouTubeリンクを使用して動作中。

于 2012-06-06T11:29:19.537 に答える
2

できますが、使用方法が間違っています。何かをリロードしたい場合は、検索クエリを追加するだけで、ソースが更新されます。

たとえば、頻繁に変更される画像(キャプチャなど)があり、ブラウザを更新せずに再度読み込む場合は、次のように実行できます。

初期コード:

<img src="captcha.png" alt="captcha" />

更新されたコード:

<img src="captcha.png?1" alt="captcha" />

したがって、同じ手法をページでも使用できます。したがって、DIVのIDは'dialerDiv1'正しいので、jQueryを使用する場合は、次のように更新できます。

function refreshDialer()
{
    var d = new Date();
    document.getElementByTagName('embed')[0].setAttribute('src',  + document.getElementByTagName('embed')[0].getAttribute('src') + d.getMilliseconds());
}

または、jQueryを使用していない場合は、次のようにsetAttribute()関数を使用する必要があります。

function refreshDialer()
{
    var d = new Date();
    $('#dialerDiv1 embed').attr('src', $('#dialerDiv1 embed').attr('src') + d.getMilliseconds());
}

単純。お役に立てれば。

于 2012-06-06T11:22:05.510 に答える