我必须解码来自外部网站的响应消息(因此,无法更改它们返回消息的方式),但它在加载此页面的Fancybox模块化弹出窗口中不起作用。
我正在以这种方式使用(当页面加载为“简单页面”时它可以正常工作,但不是 - 当使用Fancybox jQyery插件打开此页面时):
var response = JSON.parse(decodeURIComponent(h.url.param.get("response")));
响应如下:
response={%22Message%22%3a%22response+message+%3Ca+href%3d%27http%3a%2f%2fwww.linktosomeurl.com%27+target%3d%27_blank%27%3Eclick+here.%3C%2fa%3E%22}
它应该返回“消息点击此处”(并点击此处作为www.linktosomeurl.com
的链接)!
正如我所说 - 只在打开页面时才能正常工作。但问题是,如果在fancybox中打开页面,它就不会得到响应消息(不知何故,fancybox jQuery会因为其中的href url而中断此响应消息)。
有没有办法如何使用Fancybox使用url获取此响应消息?
任何关于这个问题的提示都会受到赞赏......真的坚持这个; - (
答案 0 :(得分:0)
尝试
var res = "?response={%22Message%22%3a%22response+message+%3Ca+href%3d%27http%3a%2f%2fwww.linktosomeurl.com%27+target%3d%27_blank%27%3Eclick+here.%3C%2fa%3E%22}";
var response = $.parseHTML(decodeURIComponent(res.split(/\=\{|\}/)[1]).replace(/response|message|\+/gi," "))[1];
$("body").append(response)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
答案 1 :(得分:0)
到目前为止还没有找到解决方案,但是使用了变通方法,比以前回答的更灵活 - 要求外部网站所有者将响应消息使用链接更改为纯文本,并在我这边将纯文本链接更改为href链接,如下所述: How to replace plain URLs with links? 到目前为止工作正常!不是真正的解决方案,但是节省时间的相当好的解决方法...
感谢所有提示,建议! ; - )