Javascript 通过bookmarklet注入CSS和JS函数

Javascript 通过bookmarklet注入CSS和JS函数,javascript,css,mobile-safari,bookmarklet,Javascript,Css,Mobile Safari,Bookmarklet,我在寻找一些关于如何制作一个书签的指导,它基本上可以刷新我手机上的某个网站,检查显示在上面的特定号码的任何更改,并提醒我任何更改 幸运的是,我找到了下面的代码,基本上解决了我需要的一半问题,即以设定的间隔自动刷新(另外,它会滚动到最后一个位置,这很好,因为实际上我总是需要它将我带到页面底部): 正如您所看到的,目前我只尝试处理CSS注入,因为我基本上想知道,在尝试我提到的其余JS函数之前,是否可以进一步扩展这个bookmarklet 任何想法或指导将不胜感激!干杯 bookmarklet非常适合

我在寻找一些关于如何制作一个书签的指导,它基本上可以刷新我手机上的某个网站,检查显示在上面的特定号码的任何更改,并提醒我任何更改

幸运的是,我找到了下面的代码,基本上解决了我需要的一半问题,即以设定的间隔自动刷新(另外,它会滚动到最后一个位置,这很好,因为实际上我总是需要它将我带到页面底部):

正如您所看到的,目前我只尝试处理CSS注入,因为我基本上想知道,在尝试我提到的其余JS函数之前,是否可以进一步扩展这个bookmarklet


任何想法或指导将不胜感激!干杯

bookmarklet非常适合将JS、CSS和HTML添加到页面的某些部分。这里有(我认为)一个非常有用的指南,如何以不同的方式做到这一点。对不起,它是俄语的,但代码是。。。尽管如此。代码(JS和CSS)可以作为纯“文本”注入,也可以作为对来自ideone.com的原始代码的引用。所有的解释都在那里:(也请阅读那里的评论)。一旦你知道了怎么做,你就可以继续向bookmarklet中添加一些更难的东西。
javascript:
timeout=prompt("Set timeout [s]");
current=location.href;
if(timeout>0) {
  setTimeout('reload()',1000*timeout);
}
else
{
  location.replace(current);
}
var called=false;
function reload(){
  var y = 0;
  if (called)
  {
    y = window.frames[0].scrollY;
  }
  else
  {
    y = window.scrollY;
    called=true;
  }
  setTimeout('reload()',1000*timeout);
  fr4me='<frameset cols=\'*\'><frame src=\''+current+'\' onload=\'setTimeout("window.frames[0].scrollTo(0,'+y+');", 100)\' /></frameset>';
  with(document){write(fr4me);void(close())};
} 
javascript:
timeout = prompt("Set timeout [s]");
current = location.href;
if (timeout > 0) {
    setTimeout('reload()', 1000 * timeout);
} else {
    location.replace(current);
}
var called = false;

var style = document.createElement('style');
style.innerHTML = '.elements-I-want-to-hide { display: none !important; }';
var ref = document.querySelector('script');

function reload() {
    var y = 0;
    if (called) {
        y = window.frames[0].scrollY;
    } else {
        y = window.scrollY;
        called = true;
    }
    setTimeout('reload()', 1000 * timeout);
    fr4me = '<frameset cols=\'*\'><frame src=\'' + current + '\' onload=\'setTimeout("window.frames[0].scrollTo(0,' + y + ');", 100);' + ref + '.parentNode.insertBefore(' + style + ',' + ref + ');\' /></frameset>';
    with(document) {
        write(fr4me);
        void(close())
    };
}