首页 文章

Android WebView:设置iframe src重定向页面

提问于
浏览
0

我在我的jquery ui对话框中播放了一个youtube embeded视频,其中包含iframe . 在dialogClose事件中我清除iframe src但它将页面重定向/回发到该URL . 这是我的代码:

HTML:

<div id="videoDialog" title="Video Player">
    <iframe id="videoPlayer" src="" width="100%" height="500" style="border: 0px;" sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>
</div>

JS:

var $videoDialog = $("#videoDialog").dialog({
        autoOpen: false,                    
        width: 900,
        height: "auto", 
        modal: true
    }),
    $iframeVideoPlayer = $("#videoPlayer");        


$(".video").on("click", function(){   
    $iframeVideoPlayer.prop("src", $(this).data("src"));
    $videoDialog.dialog("open");
  });

  $videoDialog.on("dialogclose", function(event) {           
     $iframeVideoPlayer.prop("src", "");//i set empty src here to iframe and it redirects the page     
  });

请帮忙 .

它只发生在android webview中 . 在桌面浏览器中,它工作正常

2 回答

  • 0

    您是否尝试过使用 beforeClose 事件?

  • 0

    我刚刚在对话框关闭事件中从DOM中删除了对话框,并在动态中将对话框插入到DOM中,以便在设置iframe src时停止重定向页面:

    这是我的代码:

    var $videoDialog = $("#videoDialog").dialog({
            autoOpen: false,                    
            width: 900,
            height: "auto", 
            modal: true,
            close: function() {
                $videoDialog.remove();
            }
        }),
        $iframeVideoPlayer = $("#videoPlayer");     
    
        $(".video").on("click", function(){
    
           var videoSrc = $(this).data("src"); 
    
           $videoDialog = $("#videoDialog");  
    
           if($videoDialog.length == 0){
    
              //here appending dialog in body and .dialog it   
              $("body").append("<div id='videoDialog' title='Video Player'><iframe id='videoPlayer' src='"+videoSrc+"' width='100%' height='500' style='border: 0px;'></iframe></div>");
    
              $videoDialog = $("#videoDialog").dialog({
                  autoOpen: false,                    
                  width: 900,
                  height: "auto", 
                  modal: true,
                  close: function() {               
                    $videoDialog.remove();
                  }
             });
    
            $iframeVideoPlayer = $("#videoPlayer");
         }
    
         $iframeVideoPlayer.prop("src", videoSrc);      
         $videoDialog.dialog("open");
     });
    

相关问题