javascript-Android WebView中子窗口iframe的js方法无法获取父窗口window中的js变量?

问题描述

Android WebView中子窗口iframe的js方法无法获取父窗口window中的js变量?

如题,今天写了一个Html页面,包含Js方法若干,其中包括建立全局的js变量。即window.var
另外,Html中包含一个iframe子窗体,子窗体中的Js方法需要调用父窗体Js方法中所建立的那个全局变量
用PC端的浏览器打开主页,iframe可以获取到父窗体中的JS变量,但是用android的WebView打开这个Html页面,却始终无法获取到
尝试了很多种方式都不行,既然PC端浏览器能成功,我想是不是WebView本身的问题
所以在此求教,望大神指点迷津。

这是WebView对象已经添加的设置
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);//手动缩放
webView.getSettings().setUseWideViewPort(true);//双击变大、变小和恢复
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

webView.setWebViewClient(new WebViewClient(){

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);//根据传入参数再去加载新的网页
            return true;//表示当前WebView可以处理打开新网页的请求,不用借助系统浏览器,去掉此方法后,点击链接则会自动用系统浏览器打开
        }

    });
    webView.setWebChromeClient(new WebChromeClient(){

        @Override
        public boolean onJsAlert(WebView view, String url, String message,
                JsResult result) {
            return super.onJsAlert(view, url, message, result);
        }

    });
    webView.loadUrl("file:///android_asset/index.html");

解决方案

js调用父窗口中的iframe中的方法
iframe中子父窗口互调的js方法
iframe中子父窗口互调的js方法
----------------------

时间: 2024-10-24 12:27:10

javascript-Android WebView中子窗口iframe的js方法无法获取父窗口window中的js变量?的相关文章

js与jQuery 获取父窗、子窗的iframe

 本篇文章介绍了js与jQuery 获取父窗.子窗的iframe.需要的朋友可以过来参考下,希望对大家有所帮助 在web开发中,经常会用到iframe,难免会碰到需要在父窗口中使用iframe中的元素.或者在iframe框架中使用父窗口的元素   js   在父窗口中获取iframe中的元素    1.   格式:window.frames["iframe的name值"].document.getElementByIdx_x("iframe中控件的ID").clic

js实现ifram取父窗口URL地址的方法_javascript技巧

本文实例讲述了js实现ifram取父窗口URL地址的方法.分享给大家供大家参考.具体实现方法如下: var url=''; try { url = window.top.document.referrer ; } catch(M) { if (window.parent) { try { url = window.parent.document.referrer; } catch(L) { url = ""; } } } if (url === "") { url

c++-小弟请教在MFC中子窗口如何获取父窗口的句柄啊

问题描述 小弟请教在MFC中子窗口如何获取父窗口的句柄啊 比如我有个父类的Dialog类为A,还有一个子类的Dialog类为B,然后在A类的头文件中包含了B的头文件,然后在A类中生命一个B类的成员变量,类似下面那样,然后我通过一个button调用DoModal();B类的STYLE改为CHILD了: 然后我希望在子窗口中处理一些数据,然后传给父窗口:比如A中有个IDC_text1 有个IDD_BUTTON1,B中有个IDC_text2,有个IDD_BUTTON2: 我就希望在B中的IDC_tex

解析jquery获取父窗口的元素

("#父窗口元素ID",window.parent.document); 对应javascript版本为window.parent.document.getElementByIdx_x("父窗口元素ID"): 取父窗口的元素方法:$(selector, window.parent.document); 那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document); 类似的,取其它窗口的方法大同小异 $(s

js与jquery获取父级元素,子级元素,兄弟元素的实现方法

 本篇文章主要是对js与jquery获取父级元素,子级元素,兄弟元素的实现方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比   JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素   原生的JS获取ID为test的元素下的子元素.可以用:   比如:   <div id="dom">     <div></d

解析jquery获取父窗口的元素_jquery

("#父窗口元素ID",window.parent.document); 对应javascript版本为window.parent.document.getElementByIdx_x("父窗口元素ID"): 取父窗口的元素方法:$(selector, window.parent.document);那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document);类似的,取其它窗口的方法大同小异$(sele

js与jquery获取父元素,删除子元素的两种不同方法

 本篇文章主要是对js与jquery获取父元素,删除子元素的两种不同方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 var obj=document.getElementById("id");得到的是dom对象,对该对象进行操作的时候使用js方法   var obj=$("#id");得到的是jquery对象,对该对象进行操作的时候使用jquery方法   1.对于上面获得的对象进行遍历   (1).js方法  for(vat i=0;j<obj

WPF Frame做导航的时候 在子页面怎么获取父窗口的控件

问题描述 RTWPFFrame做导航的时候在子页面怎么获取父窗口的控件?比如<FrameDockPanel.Dock="Top"x:Name="MainFrame"NavigationUIVisibility="Hidden"Source="Welcome.xaml"/> 在Welcome.xaml页面里面怎么获取父窗口的控件并且定义事件? 解决方案 解决方案二:自己顶!!!!!解决方案三:没人来?自己顶!解决方案

在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)_javascript技巧

复制代码 代码如下: <%@ page contentType="text/html; charset=GBK" language="java"%> <%@ page import="com.jstrd.mm.business.sysmgr.monitor.logic.MMStock2BudgetLogic" %> <% String query = request.getParameter("query&