读书人

利用iframe解决js逾越访问

发布时间: 2013-11-18 00:11:49 作者: rapoo

利用iframe解决js跨越访问
js跨越访问解决方法之一:

上次文奇培训时提到了,利用在url后面加#来解决跨越的问题,我在开发中使用了一种类似的方法。

cc应用中嵌套辅助计费页面,在辅助计费页面调用handle.jsp中的js方法就会涉及到js的跨越问题,直接调用父页面方法时,由于跨越提示没有权限。

可以通过加iframe,iframe的src指向cc应用下的页面来实现


解决方法:

在index.jsp中加一个iframe,iframe的src为cc应用中的一个中间页面,该页面只调用handle.jsp的js方法。

handle.jsp:(cc)


js代码

    tabs[4] = ['','辅助计费','http://localhost:8080/CallCenterProject?basePath=<%=basePath%>','辅助计费'];


index.jsp:(辅助计费)

html代码
    <pre name="code" style="display: none" src=""></iframe>            </pre>  


js代码

    $("#mframe").attr("src",$("#basePath").val()+"/hollycrm/priceFrame.jsp?sCity="+departureCity+"&aCity="+destinationCity                      +"&transport="+transport+"&weight="+curWeight+"&strVolume="+curVolume+"&insurance="+insured);  


priceFrame.jsp:(cc)

js代码
    <script type="text/javascript">                window.onload=function(){              var orderInfo = {};          orderInfo['leavedCityId'] = '${param.sCity}';           orderInfo['sendCityId'] = '${param.aCity}';          orderInfo['transportMode'] = '${param.transport}';          orderInfo['weight'] = '${param.weight}';          orderInfo['strVolume'] = '${param.strVolume}';          orderInfo['insuredAmount'] = '${param.insurance}';              try {              parent.parent.tpPageID2.detailf.publishPrice(orderInfo);                  parent.parent.clickOrderTab();              } catch(e) {              }        }        </script>  

读书人网 >JavaScript

热点推荐