簡體   English   中英

cefsharp從C#執行Javascript

[英]cefsharp execute Javascript from C#

我正在嘗試在Windows窗體應用程序中播放在線視頻。 我可以成功播放視頻,但我想使其全屏顯示。

網址是這樣的:

http://www.mitele.es/msplayer/popup/?editorialId=231609

我一直在檢查站點,發現擴展按鈕的代碼是這樣的:

 <button ng-if="fullScreenBtIf" class="fullscreen-bt msplayer-icon-fullscreen ng-scope" title="Pantalla completa" ng-click="toggleFullscreen()" ms-skin-button="" style="color: rgb(5, 187, 237); opacity: 1;"><span class="screen-reader-text">Ir a pantalla completa</span> </button> 

CEFsharp運行正常,因為我已經過警報測試:

myBrowser.ExecuteScriptAsync("alert('test');");

我嘗試通過以下方法擴展視頻播放器:

myBrowser.ExecuteScriptAsync("toggleFullscreen();"); 

但我知道toggleFullScreen是未定義的。 您有什么想法可以實現這一目標嗎?

您的問題是范圍之一,但是如果沒有用戶輸入,就不可能使其全屏顯示。 打開您鏈接的視頻,打開瀏覽器控制台並運行...

MSPlayer.scopes[Object.keys(MSPlayer.scopes)[0]].toggleFullscreen();

那會在正確的范圍內執行該功能,但也會向您解釋為什么它無法運行。

在Chrome中...

無法在“元素”上執行“ requestFullScreen”:API只能由用戶手勢啟動。

但是,由於這是Windows窗體應用程序,因此您可以使窗體在運行時最大化,並將Webview停靠在窗體上,以使html頁面全屏顯示,然后注入以下腳本來調整視頻大小...

$("div").eq(0).css({
    position: "absolute",
    top:0,
    left:0,
    width:"100%",
    height:"100%"
});

這將使視頻適合已經最大化的頁面和形式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM