incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joe Bowser (Resolved) (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CB-258) iFrame parent is null on Android 4.0+
Date Mon, 12 Mar 2012 18:38:38 GMT

     [ https://issues.apache.org/jira/browse/CB-258?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Joe Bowser resolved CB-258.
---------------------------

    Resolution: Won't Fix

This is a Chromium bug on Android 3.x/4.x, we may revisit this later when we fix other iFrame
issues.
                
> iFrame parent is null on Android 4.0+
> -------------------------------------
>
>                 Key: CB-258
>                 URL: https://issues.apache.org/jira/browse/CB-258
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: Android
>    Affects Versions: 1.3.0
>         Environment: Android 4.0+ (Ice Cream Sandwach)
> PhoneGap 1.4.1
>            Reporter: Jared Warren
>            Assignee: Joe Bowser
>              Labels: android, iframe
>
> When I load an html file inside an iframe that file cannot access it's parent. Also "deviceready"
is never called. See the following code:
> index.html
> {code}
> <!DOCTYPE html>
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
> <title>Sand Box testing</title>
> <script src="phonegap-1.4.1.js" type="text/javascript" charset="utf-8"></script>
> <script type="text/javascript" charset="utf-8">
> 	function doParentSomething() {
> 		alert("Oh, HI!");
> 	}
> 	function onDeviceReady() {
> 		console.log("Device is ready");
> 	}
> 	function onBodyLoad() {
> 		if (typeof navigator.device == 'undefined') {
> 			document.addEventListener("deviceready", onDeviceReady, false);
> 		} else {
> 			onDeviceReady();
> 		}
> 	}
> </script>
> </head>
> <body onload="onBodyLoad()">
> 	<iframe width="200px" height="200px" id="framer"
> 		src="frameContents.html"></iframe>
> </body>
> </html>
> {code}
> frameContents.html
> {code}
> <!DOCTYPE html>
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
> <title>Sand Box testing</title>
> <script type="text/javascript" charset="utf-8">
> 	function doSomething() {
> 		console.log("doSomething:" + parent.parent.location.href);
> 		try {
> 			parent.doParentSomething();
> 		} catch (e) {
> 			console.log("parentFail:" + e);
> 		}
> 	}
> 	function onBodyLoad() {
> 		console.log("iframe loaded.");
> 	}
> </script>
> </head>
> <body onload="onBodyLoad()">
> 	<button onclick="doSomething()">Say HI</button>
> </body>
> </html>
> {code}
> Logs:
> {quote}
> 02-16 12:08:22.325: I/Web Console(9093): iframe loaded. at file:///android_asset/www/frameContents.html:17
> [Click "Say HI" button]
> 02-16 12:08:28.286: I/Web Console(9093): doSomething:file:///android_asset/www/frameContents.html
at file:///android_asset/www/frameContents.html:8
> 02-16 12:08:28.286: I/Web Console(9093): parentFail:TypeError: Object [object DOMWindow]
has no method 'doParentSomething' at file:///android_asset/www/frameContents.html:12
> {quote}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message