[
https://issues.apache.org/jira/browse/SHINDIG-1108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul Lindner resolved SHINDIG-1108.
-----------------------------------
Resolution: Fixed
fixed. looking good in all browsers.
> IE8 issues with wpm RPC mechanism
> ---------------------------------
>
> Key: SHINDIG-1108
> URL: https://issues.apache.org/jira/browse/SHINDIG-1108
> Project: Shindig
> Issue Type: Bug
> Components: Javascript
> Affects Versions: trunk
> Environment: IE8 build 6001
> Reporter: Paul Lindner
> Assignee: Paul Lindner
> Fix For: trunk
>
>
> Testing the latest rpc code we found that IE8 was having big problems.
> Specifically:
> window.postMessage is an object, not a function and
> window.attachEvent needs to be used instead of window.addEventListener
> A simple patch is as follows:
> ===================================================================
> --- features/src/main/javascript/features/rpc/rpc.js (revision 790359)
> +++ features/src/main/javascript/features/rpc/rpc.js (working copy)
> @@ -119,6 +119,7 @@
> */
> function getTransport() {
> return typeof window.postMessage === 'function' ? gadgets.rpctx.wpm :
> + typeof window.postMessage === 'object' ? gadgets.rpctx.wpm :
> window.ActiveXObject ? gadgets.rpctx.nix :
> navigator.userAgent.indexOf('WebKit') > 0 ? gadgets.rpctx.rmr :
> navigator.product === 'Gecko' ? gadgets.rpctx.frameElement :
> Index: features/src/main/javascript/features/rpc/wpm.transport.js
> ===================================================================
> --- features/src/main/javascript/features/rpc/wpm.transport.js (revision
> 790359)
> +++ features/src/main/javascript/features/rpc/wpm.transport.js (working copy)
> @@ -56,11 +56,17 @@
>
> init: function(processFn, readyFn) {
> ready = readyFn;
> - // Set up native postMessage handler.
> - window.addEventListener('message', function(packet) {
> + var onmessage = function(packet) {
> // TODO validate packet.domain for security reasons
> processFn(gadgets.json.parse(packet.data));
> - }, false);
> + };
> +
> + // Set up native postMessage handler.
> + if (typeof window.addEventListener != 'undefined') {
> + window.addEventListener('message', onmessage, false);
> + } else if (typeof window.attachEvent != 'undefined') {
> + window.attachEvent('onmessage', onmessage);
> + }
> ready('..', true); // Immediately ready to send to parent.
> return true;
> },
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.