问题
Common problem: I'm writing a web app with Dojo that has Google Earth front and centre (via the plugin), and I want to display Dojo dialog boxes (such as confirmations and forms) over the Google Earth display. The dijit.Dialog
widget is inevitably rendered underneath the Earth display, even when the dialog has a very large z-index, and the Earth container (and internal elements) have negative z-indexes.
This question is relevant - it seems due to the IFramey nature of the plugin that a shim is required - but I was wondering if there was anything more specific to Dojo? This is a common problem that ExtJS seems to have solved, and I would have thought Dojo would have as well.
回答1:
That link was relevant after all. I had a play around with the JavaScript for a while, and eventually dug into extending the dijit.Dialog widget. Simply adding a _shim
attribute and updating it occasionally was enough to get everything to work seamlessly! Based on my experiences with attempting similar things with Adobe Flex, this is like a dream come true.
You can take a look at the source of my Shimmy Dialog on Bitbucket.
来源:https://stackoverflow.com/questions/12446926/display-dojo-dialog-over-google-earth-plugin