无法在iframe内的Xamarin MacOs Webview中写入输入标记

chhqkbe1  于 2022-12-07  发布在  Mac
关注(0)|答案(1)|浏览(142)

我们有一个Xamarin MacOs应用程序,使用网页视图来显示网页内容。
显示的第一个页面是一个本地html页面文本。该页面有一个iframe,指向一个外部web,它允许像vimeo一样嵌入。
如果该iframe具有类型为“text”输入并尝试在其中写入,则不激发keypress/keydown,然后不在该输入内写入文本。
已经扩展了WebKit.WebView以访问本机属性,但是还没有找到任何允许这样做的首选项。
使用的Xamarin表格版本为5.0.0.2196
对于这种奇怪的情况,有什么解决办法吗?Tx

更新1

如果按下“Control+Tab”键,那么Input开始接收输入键。所以,问题是iframe中的控件有焦点,而webview中的iframe没有。

tez616oj

tez616oj1#

您需要检测iframe中的keyup事件。下面是HTMLJS代码片段供您参考:

HTML格式:

<iframe id='this-iframe'></iframe>

JS:

var iframe_content = '<html><body><input type="text" id="input_id"/><span id="result"></span></body></html>';
var doc = document.getElementById('this-iframe').contentWindow.document;
        doc.open();
        doc.write(iframe_content);
        doc.close();    
    
$(document.getElementById('this-iframe').contentWindow.document).keyup(function(e){
   if($('#this-iframe').contents().find('#input_id').is(":focus")){
      $('#this-iframe').contents().find("#result").html($('#this-iframe').contents().find('#input_id').val());
   }       
});

相关问题