Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.8.1
-
Fix Version/s: 1.8.2
-
Component/s: ICE-Components
-
Labels:None
-
Environment:All
Description
When using the ice:dataExporter with a browser with popup-blocking enabled (Safari, FF, etc.) the data export will fail, unless the user disables popup blocking in the browser. In Safari, it's particularly bad as the browser does not give any indication that the popup is being blocked, leaving the user to wonder why his export isn't working.
If possible, we should rework the dataExporter to avoid trigger popup blockers. I've noticed that the ice:outputResource component manages to download files without triggering it, so perhaps it could be used as a reference for the proper technique.
If possible, we should rework the dataExporter to avoid trigger popup blockers. I've noticed that the ice:outputResource component manages to download files without triggering it, so perhaps it could be used as a reference for the proper technique.
Activity
Ken Fyten
created issue -
Ken Fyten
made changes -
Field | Original Value | New Value |
---|---|---|
Salesforce Case | [] | |
Fix Version/s | 1.8.2 [ 10190 ] | |
Assignee Priority | P2 | |
Assignee | Adnan Durrani [ adnan.durrani ] |
Adnan Durrani
made changes -
Status | Open [ 1 ] | In Progress [ 3 ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Assignee Priority | P2 | P3 |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #19317 | Tue Sep 29 17:14:22 MDT 2009 | adnan.durrani | Fix for |
Files Changed | ||||
MODIFY
/icefaces/trunk/icefaces/bridge/lib/extras/extras.js
MODIFY /icefaces/trunk/icefaces/samples/component-showcase/common-web/WEB-INF/includes/examples/custom/dataTable-dataExporter.jspx MODIFY /icefaces/trunk/icefaces/component-metadata/src/main/resources/conf/ice_cust_properties/cust-dataExporter-props.xml MODIFY /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/dataexporter/DataExporter.java |
Adnan Durrani
made changes -
Status | In Progress [ 3 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #19319 | Wed Sep 30 10:43:46 MDT 2009 | adnan.durrani | Fix related to |
Files Changed | ||||
MODIFY
/icefaces/trunk/icefaces/bridge/lib/extras/extras.js
|
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #19320 | Wed Sep 30 11:12:22 MDT 2009 | adnan.durrani | Typo fixed related to |
Files Changed | ||||
MODIFY
/icefaces/trunk/icefaces/bridge/lib/extras/extras.js
|
Ken Fyten
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Adnan Durrani
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Adnan Durrani
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Adnan Durrani
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee Priority | P3 |
Fact: Any window.open() call will be caught by the popup blocker which has been made without user interaction or executed by eval().
Both components use window.open(), but the difference is that the outputResource pre-renderes the resource path to the onclick attribute of the commandButton , so when user clicks on the button it directly makes the window.open() call which invokes a servlet and JSF Lifecycle never gets executed. While the dataExporter download link causes a JSF life cycle to be begin, during the lifecycle component creates appropriate file makes window.open() call using JavaScript context API, which obviously uses eval() that is why dataExporter caught by the popup blocker.
Seems like there isn't any javascript solution or technique.