0

我有一个假设弹出的超链接。问题是,如果弹出窗口的 url 上有 $ 符号,则窗口永远不会弹出。我已经包含了两个小提琴演示,一个没有 $ 可以工作,一个有 $ 不工作。任何人都可以帮我修复一个有 $ 符号作为弹出窗口 url 的那个吗?

具有 $ 符号的变量:

&variable1=$.mydef1('season_one_display')&variable2=$.mydef2('season_two_display')

完整代码:

 var itemName = 'Test'
    var itemName2 = 'popup'
    var siteContents2 = "<li>"
       +"<iframe src='https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTeUusgzharBX4HTwmQHNZOimpaCGRBx4CLKNJAiLjUVi12VN66' height=200 width=200 style='border: none;'></iframe><br>"
       +"<div class='details'>"
       +"<div class='title'>"
       +"<a href='https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTeUusgzharBX4HTwmQHNZOimpaCGRBx4CLKNJAiLjUVi12VN66' target=\"_blank\"'>"+itemName+"</a><br>"
    +"<a href=\"javascript:window.open('http://awebsite.com/static/flash/ok1234567890123445.swf?itemid="+itemName+"&address=bsite.com&language=http://bsite.com/xml/viewer.xml&ok=1&pr=login_required_true_if_loggedin&sa=0&id=user15&jg=$.mydef&dp=$.mydef2&js=registration_required&dom=bsite.com&pn=bsiteak&variable1=$.mydef1('season_one_display')&variable2=$.mydef2('season_two_display')' , 'yourWindowName' , 'width=200,height=150')\">"+itemName2+"</a>" 
    document.getElementById("myDiv").innerHTML += siteContents2;

    <ul id="myDiv"></ul>

工作小提琴演示(没有 $):

http://jsfiddle.net/Vpwxy/

不工作的小提琴演示(带$):

http://jsfiddle.net/yXvAu/

4

1 回答 1

3

The problem is that you are using ' inside each other, in the URL parameter of window.open. It's not the dollar sign ($) that's causing you problems.

<a href=\"javascript:window.open('http://awe.....&variable1=$.mydef1('se.....
于 2013-05-10T21:04:44.510 回答