因為項目需要,需要在使用UIWebView載入html時,禁用在input中的copy paste Menu選項
修改Html頁面
方法一:
function OnLoad()
{
document.documentElement.style.webkitTouchCallout = "none"; //禁止快顯功能表
document.documentElement.style.webkitUserSelect = "none";//禁止選中
}
然後在body加上onload
<body onload="OnLoad()"/>
實際測試,input並未禁止彈出複製、粘貼功能
html頁面內容,禁止了複製功能
方法二:
<style type="text/css">
*{
-webkit-user-select: none; /* Disable selection/Copy of UIWebView */
}
</style>
實際測試,禁止了彈出複製、粘貼功能,但鍵盤輸入也無法在顯示在webView的input中。
修改iOS代碼:
方法一:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
// Disable user selection
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none';"];
// Disable callout
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"];
}
實際測試,input並未完成禁止彈出複製、粘貼功能
html頁面內容,禁止了複製功能
方法二:
獲得UIMenuController,然後強行隱藏menu item的view,
實際測試,有效果,估計不能提交到app store