1

我尝试在 Chrome 中运行此脚本,但它不起作用。

只是出现错误无法读取 null 的属性“长度”

if($("div.diashow").length>0&&$("div.diashow.list").length==0){

    jQuery.ajaxSetup({async:false});

    var objContent = $("#objectContent");

    $("span.prev").remove();
    $("span.next").remove();
    $("p.next").remove();

    $("div.screen img").unwrap();

    var numOfSlides = parseInt($("span.volume").text().substr(11));    

    for(var i=2;i<=numOfSlides;i++){

        $.get("document.URL"+"?_slideNumber="+i, function(data) {

            var slidesCanvas = $("div.slidesCanvas",data);

            $("span.prev",slidesCanvas).remove();
            $("span.next",slidesCanvas).remove();
            $("p.next",slidesCanvas).remove();

            $("div.screen img",slidesCanvas).unwrap();

            objContent.append(slidesCanvas);            
        });       
    }        
}

我试图自己修复它,但由于我有限的 javascript 知识,我没有成功。为什么这个脚本在 Chrome 中不起作用?它适用于火狐。

脚本的示例目标页面

4

1 回答 1

1

该用户脚本用于@require加载 jQuery,这是一件好事。
但是,直接的 Chrome 不支持@require(也不支持 Greasemonkey 的许多奇妙功能)。

因此,要在 Chrome 中按原样使用该脚本,明智的做法是安装和使用Tampermonkey。Tampermonkey 在易用性、兼容性和功能方面比直接的 Chrome 用户脚本具有许多优势。

如果您不想使用 Tampermonkey,则重写脚本以使用这种跨浏览器技术来加载 jQuery

于 2013-06-14T14:53:04.777 回答