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



我们有一个Xamarin MacOs应用程序,它使用web视图来显示web内容。

显示的第一个页面是本地html页面文本。该页面有一个iframe,指向一个允许像vimeo一样嵌入的外部网络。

如果该iframe具有类型为"0"的输入;文本";并尝试在其中写入,不会触发keypress/keydown,然后不会在输入内部写入文本。

已扩展WebKit.WebView以访问本机属性,但未找到任何允许此操作的首选项。

Xamarin Forms使用的版本为5.0.0.2196

对于这种奇怪的情况,有什么变通办法吗?Tx

更新1

如果按下键";控制+选项卡";,则输入开始接收输入键。所以,问题是iframe中的控件有焦点,但webview中的iframe没有。

您需要检测iframe中的任何keyup事件。这是HTML&下面的JS代码片段供您参考:

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());
}       
});

最新更新