skyline创建气泡CreatePopupMessage里面的src问题

22 篇文章 1 订阅
7 篇文章 0 订阅

当创建气泡CreatePopupMessage指定src对应的url地址,加入在url里面采用get的形式添加参数与参数值到url中。所在的html页面里面如果是动态添加图片到页面中,可能会导致图片无法获取,,但是单独打开对应的页面又能直接显示图片出来。如以下代码:




var src = m_basePath+"/map/jsp/infowindow/checkmPicInfowindow.html?"+"&addr="+addr+"&date="+date+"&picpath="+filepath;
var popupMsg =createPopupMessage("巡检照片",src,30,360,220);
在src对应的页面中获取参数值并且将图片地址动态添加到div中
		
  var picpath=getQueryString("path");
	    var bigImg = document.createElement("img");     //创建一个img元素  
        bigImg.src=picpath;   //给img元素的src属性赋值  
        bigImg.width="320";  //320个像素 不用加px 
        bigImg.height='320';
        var myDiv = document.getElementById('picDiv'); //获得dom对象  

        myDiv.appendChild(bigImg);      //为dom添加子元素img
此时打开气泡不能显示图片,但是单独打开html页面地址是正常显示的。后来还发现如果是在html中写入的src地址是写死的,也是可以显示的,就是不能动态添加。

经过本人不停地调试,终于发现原来skyline的创建气泡createPopupMessage()方法中的src的url中代有参数时,参数后面的值须为字符串,尤其是带有数字,字母斜杠等特殊字符组合在一起的时候,并且在将字符串通过单引号进行组装使其变成“‘ashdajscacabjc1234/sdaj/7snjx’”这样的字符串,才能被skyline的src获取,跳转到相应界面。这应该是个例,如果出现我这里描述的情况,可以试一下这种方法。

比如我这里的filepath已经是字符串了,作为src的参数时候将其改成,

var src = m_basePath+"/map/jsp/infowindow/checkmPicInfowindow.html?"+"&addr="+addr+"&date="+date+"&picpath="+"'"+filepath+"'";//注意红色的字体。

这个时候气泡就能显示出来内容,但是picpath在新的界面中的值变成了带有单引号的字符串,再在新页面中将该值的单引号进行替换即可,如下代码

var path=picpath.replace("/\'/g","");
效果图如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值