{ "id": "133118", "key": "TIMOB-17936", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2014-07-14T11:20:27.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [ "TCSupportTriage", "android", "triageSupport", "webview" ], "versions": [ { "id": "15972", "description": "Release 3.4.0", "name": "Release 3.4.0", "archived": false, "released": true, "releaseDate": "2014-09-28" } ], "issuelinks": [], "assignee": null, "updated": "2018-02-28T20:03:46.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "The TiWebviewClient.java overrides the \"onPageStarted\" method to trigger the \"beforeload\" event.\r\nAs the Android API states: \r\nbq. This method is called once for each main frame load so a page with iframes or framesets will call onPageStarted one time for the main frame.\r\n\r\nThis means, that the method won't get triggered, when a URL inside an iFrame/Frame changes. \r\n\r\nImplementing an \"onLoadResource\" function and triggering a new \"beforeresourceload\" event would solve this issue.\r\n\r\nThe problem does not exist on iOS devices, as the event gets triggered with iFrames as well.", "attachment": [], "flagged": false, "summary": "Implement onLoadResource event for Android WebViews", "creator": { "name": "mpociot", "key": "mpociot", "displayName": "Marcel Pociot", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "mpociot", "key": "mpociot", "displayName": "Marcel Pociot", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Titanium 3.2.3 - Android 4.4", "comment": { "comments": [ { "id": "315734", "author": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "body": "Hello Marcel, \r\ncan you please provide a testcase that shows the issue? \r\n\r\nBest Regards,\r\nMauro ", "updateAuthor": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "created": "2014-07-24T23:56:34.000+0000", "updated": "2014-07-24T23:56:34.000+0000" }, { "id": "320832", "author": { "name": "mpociot", "key": "mpociot", "displayName": "Marcel Pociot", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi Mauro,\r\n\r\nsorry for the late reply. Haven't seen your response.\r\n\r\nI created a gist demonstrating the issue:\r\nhttps://gist.github.com/mpociot/9d95def1037fd1d83b42\r\n\r\nWhen clicking the link in the webview iOS fires the \"beforeload\" event.\r\nAndroid doesn't.\r\n\r\nI could also provide a PR if you want.\r\n\r\nRegards,\r\nMarcel", "updateAuthor": { "name": "mpociot", "key": "mpociot", "displayName": "Marcel Pociot", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-28T17:33:12.000+0000", "updated": "2014-08-28T17:33:12.000+0000" }, { "id": "321537", "author": { "name": "mpociot", "key": "mpociot", "displayName": "Marcel Pociot", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Here's my PR: https://github.com/appcelerator/titanium_mobile/pull/6011", "updateAuthor": { "name": "mpociot", "key": "mpociot", "displayName": "Marcel Pociot", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-09-03T08:43:39.000+0000", "updated": "2014-09-03T08:43:39.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }