-
Bug
-
Resolution: Fixed
-
Major
-
8.5.1
-
Security Level: Jimmy
-
None
Steps to Reproduce
run this zkfiddle using 8.5.1
http://zkfiddle.org/sample/1tsvk50/2-datebox-causing-cross-origin-error-when-used-in-iframe
Current Result
page fails to initialize inside an iframe
when executed in a single page it seemingly works
Expected Result
db should also run inside an iframe
Debug Info
the error displayed in the console is only the 2nd error occuring
zk.wpd:37475 Uncaught TypeError: Cannot read property 'prototype' of undefined at zk.wpd:formatted:41598 at zk.wpd:formatted:41629 at doEnd (zk.wpd:formatted:24099) at Function._zkf (zk.wpd:formatted:24141) at VM289 zul.db.wpd:3681 at doEnd (zk.wpd:formatted:24099) at Function._zkf (zk.wpd:formatted:24141) at VM292 zul.inp.wpd:5135 at doEnd (zk.wpd:formatted:24099) at Function._zkf (zk.wpd:formatted:24141)
zul.db.Datebox is undefined
Root Cause
enable pause at exception reveals another exception caused by an unintended cross origin access to the parent frame.
Uncaught DOMException: Blocked a frame with origin "http://temp.zkfiddle.org:1223" from accessing a cross-origin frame. at eval (eval at _getTimeZone (http://temp.zkfiddle.org:1223/t851icb/zkau/web/_zv2018030612/js/zul.db.wpd:1697:26), <anonymous>:1:12) at _getTimeZone (http://temp.zkfiddle.org:1223/t851icb/zkau/web/_zv2018030612/js/zul.db.wpd:1697:26) at http://temp.zkfiddle.org:1223/t851icb/zkau/web/_zv2018030612/js/zul.db.wpd:1977:58 at http://temp.zkfiddle.org:1223/t851icb/zkau/web/_zv2018030612/js/zul.db.wpd:2717:3 at doEnd (http://temp.zkfiddle.org:1223/t851icb/zkau/web/14635aef/js/zk.wpd:23972:4) at Function._zkf (http://temp.zkfiddle.org:1223/t851icb/zkau/web/14635aef/js/zk.wpd:24011:4) at http://temp.zkfiddle.org:1223/t851icb/zkau/web/_zv2018030612/js/zul.inp.wpd:5135:13 at doEnd (http://temp.zkfiddle.org:1223/t851icb/zkau/web/14635aef/js/zk.wpd:23972:4) at Function._zkf (http://temp.zkfiddle.org:1223/t851icb/zkau/web/14635aef/js/zk.wpd:24011:4) at http://temp.zkfiddle.org:1223/t851icb/zkau/web/_zv2018030612/js/zk.fmt.wpd:529:13 (anonymous) @ VM1966:1 _getTimeZone @ zul.db.wpd:1697 (anonymous) @ zul.db.wpd:1977 (anonymous) @ zul.db.wpd:2717 doEnd @ zk.wpd:23972 _zkf @ zk.wpd:24011 (anonymous) @ zul.inp.wpd:5135 doEnd @ zk.wpd:23972 _zkf @ zk.wpd:24011 (anonymous) @ zk.fmt.wpd:529 doEnd @ zk.wpd:23972 _zkf @ zk.wpd:24011 (anonymous) @ zul.inp.wpd:5135
the root is the initial access to "this" in these 2 statements (at this time "this" refers to the global window object and not the current instance of the widget):
https://github.com/zkoss/zk/blob/v8.5.1/zul/src/archive/web/js/zul/db/Calendar.js#L322-L323
- relates to
-
ZK-3527 Timezone issues with historically varying DST and Offsets rules
- Closed