【问题标题】:IE XDomainRequest responseText and HTMLIE XDomainRequest responseText 和 HTML
【发布时间】:2012-04-11 01:06:35
【问题描述】:

我在 IE 8 中使用 XDomainRequest 来获取网页的内容。 reponseText 包含转义字符和 unicode 字符,可防止将标记插入到 div 中。这是返回数据的示例。

<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD XHTML 1.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd\">\u000d\u000a<html xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\u000d\u000a<head>\u000d\u000a    <title>...<\/title>\u000d\u000a    <script src=\"\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.7.1\/jquery.min.js\" type=\"text\/javascript\"><\/script>\u000d\u000a<\/head>\u000d\u000a<body>\u000d\u000a\u000d\u000a<div style=\"font-size:24px;font-weight:bold\">\u000d\u000aText Headline: \u000d\u000a<\/div>\u000d\u000a\u000d\u000a<div style=\"float:left;width:50%;margin:0;padding:0;\">\u000d\u000a<p>Lorem ipsum dolor sit amet<\/p>\u000d\u000a\u000d\u000a<p>In nec imperdiet lectus. 

当我使用 decodeURI 或 decodeURIComponent 时,我收到“要解码的 URI 不是有效的编码”错误。

有人可以建议一种方法或正则表达式来清理 HTML 吗?

【问题讨论】:

    标签: ajax regex internet-explorer-8 xdomainrequest


    【解决方案1】:

    根据我的快速测试:

    regex = /\\([^u])/g;
    // put it in a JSON object so that JS doesn't automatically de-escape
    string = JSON.stringify({response: '<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD XHTML 1.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd\">\u000d\u000a<html xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\u000d\u000a<head>\u000d\u000a    <title>...<\/title>\u000d\u000a    <script src=\"\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.7.1\/jquery.min.js\" type=\"text\/javascript\"><\/script>\u000d\u000a<\/head>\u000d\u000a<body>\u000d\u000a\u000d\u000a<div style=\"font-size:24px;font-weight:bold\">\u000d\u000aText Headline: \u000d\u000a<\/div>\u000d\u000a\u000d\u000a<div style=\"float:left;width:50%;margin:0;padding:0;\">\u000d\u000a<p>Lorem ipsum dolor sit amet<\/p>\u000d\u000a\u000d\u000a<p>In nec imperdiet lectus.'});
    
    string.replace(regex, '$1');
    

    将替换除 Unicode 之外的所有转义斜杠。我认为 JS 中的正斜杠没有很多其他非转义用途。

    【讨论】:

      猜你喜欢
      • 2011-10-25
      • 2013-09-08
      • 1970-01-01
      • 1970-01-01
      • 2013-03-25
      • 2011-12-24
      • 2012-09-17
      • 1970-01-01
      • 2013-10-21
      相关资源
      最近更新 更多