如何让jQuery停止对AJAX响应的脚本评估?

时间:2011-05-08 17:26:04

标签: javascript jquery ajax

大多数人都希望脚本评估能够正常运行。我没有。

我正在尝试将视频作为背景(HTML 5,而不是Flash),因为我无法控制所请求页面上包含的内容(Tumblr - 您可以只为索引页面和永久链接页面提供唯一代码,你不能拥有一个主页,旧帖子页面,然后永久链接页面等等。

{block:IndexPage}
var productElement = document.getElementById("dreamscene");
if (productElement == null)
{
$("body").append('<img src="http://static.tumblr.com/opbsaiu/mqllkvs1c/overlayyyy.png"
                  style="position: fixed; z-index: -1; top: 0pt; left: 0pt; 
                         width: 100%; height: 100%;"><video id="dreamscene" 
                  style="position: fixed; opacity:0.343; z-index: -2; top: 0pt; 
                         left: 0pt; width: 100%; height: 100%;" 
                  loop autoplay audio="muted">
                  <source type="video/mp4" src="videosource#%#$%^&*/dsgfhjk.mp4"> 
                  </source></video>');
}
{/block:IndexPage}

在放置另一个元素之前,我一直试图让它检查元素。我已经得出结论,代码在一个单独的实例中运行,就像页面中的页面一样。显然这非常糟糕,我实际上已经让IE 9为音频添加了回声效果。

在Firebug和IE开发中。工具,视频元素的实例永远不会超过一个,因此上面的代码附加了document.ready事件,而我正在使用http://www.infinite-scroll.com/来实现这一点。

有一个dataType参数。:

$('#thumbnails').infinitescroll({
    navSelector  : ".next a:last",
    nextSelector : ".next a:last",
    itemSelector : "#thumbnails .thumb",
    bufferPx : 7777,
    dataType : 'html',
    loadingText: "<span class=\"spectrum\">hold it, cowboy!</span>" },
    function(newElements){ itemHovers(); }
);

...但它似乎没有任何影响,无论是设置为text还是html(我已阅读文档; - ])。

1 个答案:

答案 0 :(得分:1)

你试过而不是

var productElement = document.getElementById("dreamscene");
if (productElement == null)
{

这样:

if (!$("#dreamscene"))
{

另外,请尝试向<img>添加ID并查看该ID,而不是<video> ID。由于<video>仅为html5,因此可能会出现问题。