KML中使用本地js文件模块
来源:互联网 发布:淘宝直播怎么申请视频 编辑:程序博客网 时间:2024/06/06 09:03
GE5.0以上版本的description块中能直接使用html+js+css,GE使用webkit渲染。但是有一个很大的问题。
GE为了避免开放本地文件访问带来的危险,直接把<script src="localfile.js">的使用封掉了。即使按照官方的设置方法,开放本地文件读取,仍然不能使用本地js。在无网络环境下,这个很扯啊,必须有本地js啊。
看网上大神们,直接在各个description里添加完整的js代码,果断不靠谱啊。如果有n个description,就是有n-1份无用信息!
很幸运的是,GE允许iframe的本地文件访问,而且支持套嵌!这就给本地js重用带来了希望。思路如下:
1.把js代码都放到一个仅有<script>标签的html文件中,js.html。
2.在使用js的页面中,加入iframe,src设为js.html,设置name为jsCall。
3.在调用js时,使用jsCall.window.function()的调用方法,而且function()。
大功告成。
整体结构如下:
doc.kml
|--placemark
---|--description
------|--iframe src=description.html
---------|--iframe src=js.html name=jsCall
---------call function:jsCall.window.function();
代码:
kml:
<Placemark><name>Descriptive HTML</name> <visibility>1</visibility><Point> <coordinates>-122.0856545755255,37.42243077405461,0</coordinates> </Point> <description><![CDATA[<iframe src="desc.html"></iframe>]]></description></Placemark>
<script>function c(btn){alert(btn.value);btn.value = "clicked";}</script>
desc.html
<iframe name = "jsCall" src="js.html" width="0" height="0"></iframe><script>function c(btn){jsCall.window.c(btn);}</script><input type = "button" onclick="c(this)" value = "click"/>
GE测试通过,起码代码看起来漂亮很多。
- KML中使用本地js文件模块
- 使用一个pcap包生成kml文件
- Android-WebView中远端链接使用本地js文件
- node.js本地模块
- 在Google map中添加kml文件的注意点
- [ArcPy] 使用Python脚本实现kml转shp文件
- c#生成KML文件
- KML文件基本格式
- kml文件初探
- Java生成kml文件
- Node.js:使用request模块下载文件
- 使用require加载非AMD规范的js文件,并在模块中使用。
- Qt加载本地html文件 并且调用JS的函数在Qt中使用
- node.js中关于使用formidable模块实现文件上传至指定目录的问题
- Orchard模块中使用css和js
- Java(Android)解析KML文件
- KML文件学习-点、线
- KML
- php实战第十一天
- JavaScript用武之Google Chrome Extension & User Script
- linux下svn不能连接上windows服务器:SSL handshake failed: SSL 错误:在证书中检测到违规的密钥用法
- oracle中的字符问题
- hdu_1212
- KML中使用本地js文件模块
- java中关于String类的比较运算
- Java编写的游戏2D动画编辑器,半成品!
- web server 服务器搭建教程 针对JAVA servlet at appfog
- Mybatis 中#和$区别
- c++继承时的构造函数
- 我的DIY Android之旅--下载编译并运行你的Android内核
- 数字三角形
- 网络系统实验:交换机的配置