代码在控制台中工作,但bookmarket或粘贴在地址栏中不起作用

时间:2014-11-19 22:25:32

标签: javascript google-chrome firefox bookmarklet

我写道:

var y=document.getElementsByClassName("_zs fwb");
var flag=0;
var p;
function moveWin()
{
    window.scroll(0,document.body.scrollHeight);
    y=document.getElementsByClassName("_zs fwb");
    if(y.length > p)
    {
        clearTimeout(stopScroll);
        flag=1;

    }
    else
        var stopScroll=setTimeout('moveWin();',1000);


    if(flag==1)
    {

        y=document.getElementsByClassName("_zs fwb");
        var final=[[" USERNAME "," ID "]];
        var names=[];
        var ids=[];
        var csvRows = [];
        for(var i=0;i<p;i++)
        {
            var name=y[i].textContent;
            names.push(name);
            var url=y[i].getElementsByTagName('a')[0].href;
            var id=url.slice(25,url.indexOf("?"));
            ids.push(id);
            final.push([name,id]);


        }
        for(var i=0, l=final.length; i<l; ++i)
        {
            csvRows.push(final[i].join(','));
        }
        var csvString = csvRows.join("%0A");
        var a = document.createElement('a');
        a.href = 'data:attachment/csv,' + csvString;
        a.target = '_blank';
        a.download = 'FBnames.csv';

        if(csvRows.length>1)
        {
            document.body.appendChild(a);
            a.click();

        }
    }

}
p=window.prompt("Enter no of names required ",10);


moveWin();
void(0);

问题是程序在粘贴到控制台时执行完全正常,但是当我创建一个相同的书签时它不起作用。 也没有粘贴地址栏中的代码。

0 个答案:

没有答案