文档元素之后的垃圾Firefox错误使用JQuery加载内容获取

时间:2015-12-10 12:15:01

标签: javascript jquery html css firefox

我有一个页面(不幸的是在登录系统后面),它基本上在文章列表的左侧有一个导航栏,当你点击一篇文章时,它会从存储的.inc文件加载内容在服务器上,使用提供的文件路径。

这适用于Google Chrome。

然而,在Firefox上,当页面加载时,我得到了这个奇怪的javascript错误:

“文档元素之后的垃圾” - 当我单击错误时,它会转到第一篇文章中第2行的内容。

让我给你看一些代码。

这是页面加载完成后运行的最后一个JS函数,其目的是加载初始文章。

function initialise_family_center_page() 
{
    if (current_element_id == "" || current_element_id == "family_center_general_info") //If this is the first article to be loaded
    {
        //Get the file path of the inc file to load

        var content_directory = file path....;

        jQuery.get(content_directory, function(data) 
        {
            $('#family_center_main_content').html(data);    //Load the content
        }); 
    }   
}

正在加载的.inc文件中的内容如下:

<p>Some text</p>

<p>Some text</p>

此时值得一提的是,在Chrome和Firefox中,内容会加载。但是在firefox中,由于JS错误,您无法再使用页面的其余部分,因为JS已停止工作。

有趣的是,我通过Google搜索问题发现,如果我将文件的内容更改为:

<html>
    <p>Some Text</p>

    <p>Some Text</p>
</html>

然后错误没有出现并且页面正常工作(直到你加载没有标签的下一个内容文件。

然而,这不是一个合适的解决方案,因为有成千上万的文件。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

我有同样的问题。我创建了一个基页,点击foreach($_POST['productid'] as $key => $value){ echo $_POST['listprice'][$value].'<br />'; } 元素触发nav提取$.ajax()文件,该文件将填充页面上的主inc - 如下所示:< / p>

div

除非我编辑了INC文件并将文本包装在$(document).ready(function(){ // Set trigger and container variables var trigger = $('nav.primary ul li a'), container = $('#se-main'); trigger.on('click', function(){ // Set click target from data attribute target = this.target; $.ajax({ url:'../inc/'+target + '.inc', success: function(data){ // Load target page into container container.html(data); }, dataType: "text" // this seems to be ignored in Firefox }); // snip other stuff }); 中,否则Firefox控制台始终记录“文档元素之后的垃圾”错误。 (但页面内容仍然更新 - 因此用户没有被它阻止。)

要解决此问题:将<html></html>添加到a​​pache mime.types 配置文件中的inc行。

使用

找到该行
text/html

更改为

text/html                   html htm

然后重启apache。

这对我有用。

默认文件位置:

Linux text/html html htm inc ;

WAMP /etc/mime.types

XAMPP [wampdir]\bin\apache\[apacheversion]\conf\mime.types

[wampdir]在哪里安装WAMP / XAMPP,[apacheversion]是WAMP正在使用的apache版本。

如果您无权访问 mime.types 文件,或者您正在共享主机上运行,​​则此解决方案无效。

在这种情况下 - 假设您有权访问[xamppdir]\apache\conf\mime.types - 将以下内容添加到.htaccess可能会有效 -

.htaccess