2011-05-08 51 views
5

大多数人都希望得到脚本评估工作。我不。如何让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 dev。工具,视频元素永远不会超过一个实例,因此上面的代码附加在document.ready事件中,我使用http://www.infinite-scroll.com/来实现魔法发生。

有一个数据类型PARAM:

$('#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(); } 
); 

...但它似乎并不具有它是否被设置为文本或HTML任何影响(我读过的文档; - ])。

+1

您能向我们展示双视频发生的真实链接吗? “ – ariel 2011-05-09 00:30:44

回答

1

你尝试过的

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

这个代替:

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

此外,尝试添加一个ID,<img>并寻找该id起来,而不是<video> ID。由于<video>仅适用于html5,因此可能会产生问题。

+0

”另外,请尝试向添加一个ID,然后查看该ID,而不是

+0

它仍然很高兴知道如何控制脚本评估虽然,amirite 这是几乎闻所未闻... 啊,好吧。 – 2011-05-09 04:23:11