在让jsFiddle代码在FF和Chrome上运行时遇到问题

时间:2013-04-19 00:09:22

标签: javascript html css jsfiddle

我在jsFiddle中创建了一个看起来很棒的表,但是当我将代码复制并粘贴到本地.html文件中时,我运行它时会得到一个空白页。我一直在寻找一段时间的解决方案,并且在执行JS之后我一直看到有关页面加载的内容以及关于$(document).ready的内容。我是JS的新手,所以我有点失落。

这是我的jsFiddle:http://jsfiddle.net/DBF5q/29/

这是我在其中添加代码的HTML页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
   <head>
      <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
      <title>Find User</title>
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
      <style>
         <!-- CSS CODE HERE -->
      </style>
      <script type="text/javascript">
         <!-- JS CODE HERE --->

      </script>
   </head>
   <body>
      <div class="Web_OnlineTools_Table" >
        <table id="contact"></table>
      </div>
   </body>
</html>

我感谢你们给我的任何解决方案或建议。 谢谢。

2 个答案:

答案 0 :(得分:2)

问题可能是,在你的jsfiddle中你使用/echo/json/服务来模拟ajax请求,当你将代码复制到本地系统时它将不起作用。

解决这个问题

您需要使用ajax数据

创建像data.json这样的本地文件
{
    "accounts": [{
        "customerID": "1",
            "firstName": "Test",
            "lastName": "Test",
            "company": "Humber",
            "address": "Canada",
            "postalCode": "L7Y 3F1",
            "phoneNumber": "(905)451-1313"
    }, {
        "customerID": "2",
            "firstName": "Test",
            "lastName": "Test",
            "company": "Humber",
            "address": "Canada",
            "postalCode": "L7Y 3F2",
            "phoneNumber": "(905)451-1312"
    }               
              ]
}

更改ajax代码,如

$(document).ready(function () {
    $.ajax({
        url: "<url-of-the-data.json>",
        datatype: "json"
    }).done(function (data) {
        console.log(data.accounts);
        $('#contact').append('<tr><td>' + "CustomerID" + '</td><td>' + "First Name" + '</td><td>' + "Last Name" + '</td><td>' + "Company" + '</td><td>' + "Address" + '</td><td>' + "Postal Code" + '</td><td>' + "Phone Number" + '</td></tr>');
        $(data.accounts).each(function (index, element) {
            console.log(element);

            $('#contact').append('<tr><td>' + element.customerID + '</td><td>' + element.firstName + '</td><td>' + element.lastName + '</td><td>' + element.company + '</td><td>' + element.address + '</td><td>' + element.postalCode + '</td><td>' + element.phoneNumber + '</td></tr>');
        });
    });
});

演示:Plunker

答案 1 :(得分:0)

将示例移出jsFiddle的最佳方法是复制结果框架源代码(如http://doc.jsfiddle.net/faq.html中所述)

你的小提琴还有一个问题:

您已使用$(document).ready(function () {启动了JS代码并保持onLoad下拉列表。结果如下:

    $(window).load(function(){
    $(document).ready(function () {