如何解决 IE 中使用 jquery url 的 HTML1402 问题?

问题描述 投票:0回答:2

我真的不明白为什么 IE(仅适用于任何其他浏览器)给我 HTML1402:字符引用缺少结尾分号“;”,代码如下:

<!DOCTYPE HTML>
<html>
        <head>
                <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
        </head>
        <body>
                <span id="here"></span>
                <div id="url_iframe">https://www.google.com.br/search?q=ie+html+1402+with+jquery&ie=utf-8&oe=utf-8&client=firefox-b&gws_rd=cr</div>

        <script>
                var url_iframe = jQuery('#url_iframe').text();
                jQuery('#here').append('<iframe src="'+encodeURIComponent(url_iframe)+'" scrolling="no" frameborder="0" width="320" height="300"></iframe>');
        </script>
        </body>
</html>

有人知道如何修复它,以便停止出现在控制台中吗?

我尝试不使用encodeURIComponent,但出现同样的错误。

URL只是一个示例,我知道这是行不通的,这是对一个非常大且复杂的代码问题的测试,我发现的是如果我将其更改为iframe而不是使用jquery,则不会显示任何警告,但是我需要使用 jquery 来完成此操作,因为在真实的 Web 应用程序中附加之前的数据。

javascript jquery internet-explorer console
2个回答
0
投票

假设错误一定是 MS bug,我发现我是对的,我所需要的就是将 div 替换为输入:

<!DOCTYPE HTML>
<html>
        <head>
                <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
        </head>
        <body>
                <span id="here"></span>
                <input type="hidden" id="url_iframe" value="https://www.google.com.br/search?q=ie+html+1402+with+jquery&ie=utf-8&oe=utf-8&client=firefox-b&gws_rd=cr"/>

        <script>
                var url_iframe = jQuery('#url_iframe').val();
                jQuery('#here').append('<iframe src="'+url_iframe+'" scrolling="no" frameborder="0" width="320" height="300"></iframe>');
        </script>
        </body>
</html> 

如果有人知道如何用 div 做到这一点,我会很高兴在这里分享......


0
投票

Edge 似乎将 javascript 中的&符号 - & - 视为字符引用,例如 • 末尾缺少分号。

在上述情况下,请在 URL 中使用 & 来表示 Edge 中的任何“&”。 顺便说一句,Edge 是一个糟糕的浏览器。

© www.soinside.com 2019 - 2024. All rights reserved.