我有 Cordova 应用程序,它使用 iframe 显示外部内容(在这种情况下是 youtube 嵌入视频)
单击 iframe 内的链接(如 youtube 徽标)时,整个 webview 将导航到 youtube 网站,而不仅仅是 iframe。(没有能力回去,你需要杀死应用程序),我想阻止的行为。
在 android 上,cordova 插件 api 公开了 onOverrideUrlLoading 方法,该方法应该能够阻止不需要的导航。(还没有自己测试过)
我在 ios cordova 类和 ios webview api 中都没有找到类似的方法。但我对ios并不熟悉。
我还尝试过(在 android 和 ios 上)iframe 的沙盒属性 https://developer.mozilla.org/en/docs/Web/HTML/Element/iframe#attr-sandbox 这适用于防止脚本(不是我需要那个atm,只是为了检查属性是否在做某事)而不是阻止导航(要启用导航,您应该添加 allow-top-navigation 而我没有)