{ "id": "149892", "key": "TIMOB-19259", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "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": "2015-07-25T14:28:52.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [ "html", "load", "webview" ], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-02-28T19:55:06.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": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "The WebView used to keep its DOM across multiple open-close cycles of the containing window. We could even remove the WebView instance from one window and add it to another window, without losing the DOM. This was a great feature for performance. Somewhere between 3.4.1.GA and 4.1.0.GA, this behavior changed. Now, the WebView reloads on each open of the containing Window. I think this was done to fire the \"load\" event on the WebView on each window.open(). \r\n\r\nIf you set the HTML of the WebView, as opposed to setting its URL, then the WebView tries to load an empty local URL on subsequent window.open(), with just the App's directory, and fails.\r\n\r\nTo recreate this issue:\r\n\r\n# Create a master-detail app from the template\r\n# Replace DetailView.js with the attached file:\r\n\r\nRun and click on a master row. The detail window will show the details. Go back and click another master row.\r\n\r\n[Please keep the old behavior *_as an option_*. We should be able to keep the WebView instance across multiple open-close cycles without losing its DOM. We should even be able to move the WebView instance across windows.]", "attachment": [ { "id": "56243", "filename": "DetailView.js", "author": { "name": "gopireddy", "key": "gopireddy", "displayName": "Gopi Reddy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-07-25T14:35:44.000+0000", "size": 394, "mimeType": "text/javascript" }, { "id": "56242", "filename": "MasterView.js", "author": { "name": "gopireddy", "key": "gopireddy", "displayName": "Gopi Reddy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-07-25T14:35:44.000+0000", "size": 912, "mimeType": "text/javascript" } ], "flagged": false, "summary": "iOS: WebView loses the DOM on a subsequent \"open\" of the containing window", "creator": { "name": "gopireddy", "key": "gopireddy", "displayName": "Gopi Reddy", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "gopireddy", "key": "gopireddy", "displayName": "Gopi Reddy", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Appcelerator SDK 4.1.0.GA.\r\niOS 8.*\r\niPhone 5", "comment": { "comments": [ { "id": "358551", "author": { "name": "gopireddy", "key": "gopireddy", "displayName": "Gopi Reddy", "active": true, "timeZone": "America/Los_Angeles" }, "body": "We fixed a few critical bugs in our app but we cannot deploy the app to the Apple store until this issue is resolved. We cannot fallback to an older version of the SDK because the app store requires a 64-bit version. We are stuck between a rock and a hard place. An ETA will be greatly appreciated.\r\n\r\nOur app requires that the old behavior of the SDK is restored. This means that the DOM of the web document in a WebView stays intact even if the containing window is closed and reopened. If this cannot be made available by default, then please provide it through an option in the WebView component.", "updateAuthor": { "name": "gopireddy", "key": "gopireddy", "displayName": "Gopi Reddy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-07-29T21:31:19.000+0000", "updated": "2015-07-29T21:31:19.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }