子页面调用了google地图的js,父页面能否不载入js直接使用?
iframe调用的页面
- HTML code
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=en"></script><script type="text/javascript"><!--var map, point, marker, txt; point = new google.maps.LatLng(<?=$point?>); var myOptions = { zoom: 16, center: point, mapTypeControl: false, mapTypeId: google.maps.MapTypeId.ROADMAP } map = new google.maps.Map(document.getElementById("map"), myOptions); marker = new google.maps.Marker({map: map, position: point});//--></script>父页面
- HTML code
<!--google map begins--><script type="text/javascript">var bigMap, position;position= new google.maps.LatLng(51.51170390644864,-0.130020724536962); //这里开始会出错,因为父页面没有载入apivar OptionS = { zoom: 18, center: position, mapTypeControl: false, mapTypeId: google.maps.MapTypeId.ROADMAP};bigMap = new google.maps.Map(document.getElementById("canvas"), OptionS);</script><div id="map"><iframe id="map" marginheight="0" border="0" src="/ukinfo/skin/mapframe.php?point=51.51170390644864,-0.130020724536962" frameborder="no" marginwidth="0" scrolling="no"></iframe></div>有没有可能,父页面不再载入google地图的api,直接使用子页面的呢? 我用iframe载入api,这样不会拖慢主页面的速度
[解决办法]
这个 当然没问题啊,只需要知道他的js代码就好了:
parent.frames["leftFrame"].window.method() //主页面调用子页面的方法
window.frames["rightFrame"].rightFrameWidth;//取子页面 javasciript 变量
window.parent.mainForward() //子页面调用父页面的方法
window.parent.rightFrameWidth //子页面去父页面的javascript变量 ,
用iframe载入api,这样不会拖慢主页面的速度, 这个说实话 ,只需要加载一次,并且用起来比freeset方便多了。挺好~~