jQuery加载函数没有做任何事情

时间:2011-11-08 16:41:30

标签: jquery include load

我想将一个外部jQuery播放器加载到我的div #player中。我已经尝试了几个地址来查找任何更改,但没有包含任何内容。我做错了什么?

    // This one is okay
    $("li a").live("click", function(){
           $("#textoPequeno").load($(this).attr('href'));    
           return false;
    });

    //This one is not doing anything
    $(document).live(function() {
    $("#player").load("http://code.internuts.se/jquery/iwish/index.html");
    } );

HTML CODE:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<link href="css/style.css" media="screen" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="css/simpleplayer.css" type="text/css">
 <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.min.js"></script>
<script type="text/javascript" src="include/javascript.js"></script>



<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Opera</title>
</head>

<body>
    <div id="main">
        <div id="header">

            <h1 id="logo">
                <a href="#">Linux Logo</a>
            </h1>

            <ul>
                <li><a href="1.html">Home</a></li>
                <li><a href="2.html">Navegación</a></li>
                <li><a href="3.html">Novedades</a></li>
                <li><a href="4.html">Diseño</a></li>
                <li><a href="5.html">Multimedia</a></li>
            </ul>

            <div id="player">
            </div>

        </div>
    <div id="imagen"></div>
    <h2 id="textoGrande"><p>Opera ahora<br /> mas acojedor...</p>
    </h2><h3 id="textoPequeno"><p>La hegemonía de Internet Explorer, el navegador web de Microsoft, poco a poco va llegando a su fin. Durante los últimos años hemos asistido a la aparición de nuevos navegadores que han explotado las carencias de Internet Explorer, incorporando nuevas características ausentes en éste.</p>

    </h3></div>


</body></html>

4 个答案:

答案 0 :(得分:2)

需要document.ready

$(document).ready(function() {
   $("#player").load("http://code.internuts.se/jquery/iwish/index.html");

   // include this in the document.ready as well because in order to attache the events the document needs to be ready. 
   $("li a").live("click", function(){
           $("#textoPequeno").load($(this).attr('href'));    
           return false;
    });
} );

即使在进行此更改后,我仍然怀疑您会遇到限制跨域ajax请求的same origin限制,我猜这不是您的域名。

答案 1 :(得分:1)

AJAX调用仅限于同源策略:它不适用于加载域外的内容。

请在此处阅读:http://en.wikipedia.org/wiki/Same_origin_policy

答案 2 :(得分:0)

我认为你的电话没有按照你的想法行事。试试这个......

$(function() {
    $("#player").load("http://code.internuts.se/jquery/iwish/index.html");
});

$(....)是document.ready的jQuery简写。作为参数传递给jQuery的函数将绑定到document.ready。

答案 3 :(得分:0)

您正在滥用jQuery.live(),这是一个用于绑定事件处理程序的函数,用于更改或替换DOM元素 - 我认为您想要的是jQuery.ready()

$(document).ready(function() {
   $("#player").load("http://code.internuts.se/jquery/iwish/index.html");
});

这也可以简化为:

$(function() {
   $("#player").load(...);
});