编程语言
首页 > 编程语言> > php – 在javascript中制作书签

php – 在javascript中制作书签

作者:互联网

我正在尝试为我的网站制作一个书签.

我发了一个php页面,当发送GET例如www.website.com/index.html?a=banana时,它会返回echo’stand’;

现在我正在尝试制作一个书签,当我按下它时:
PHP页面执行GET操作,然后在3秒后消失的小弹出窗口中显示回显给用户的任何内容.

我怎样才能做到这一点?

Instapaper bookmarklet做到了……

javascript:
function%20iprl5(){
  var%20d=document,z=d.createElement('scr'+'ipt'),b=d.body,l=d.location;
  try{
    if(!b)
      throw(0);
    d.title='(Saving...)%20'+d.title;
    z.setAttribute('src',l.protocol+'//www.instapaper.com/j/deyNbbpjuSei?u='+encodeURIComponent(l.href)+'&t='+(new%20Date().getTime()));
    b.appendChild(z);
  }
  catch(e){
    alert('Please%20wait%20until%20the%20page%20has%20loaded.');
  }
}
iprl5();
void(0)

解决方法:

bookmarklet是一段javascript,它运行在您所在页面的范围内.

它并不意味着只调用任意网址而不能这样做,因为这会违反相同的原始实践.如果您的PHP可以返回JSONP,那么您可以编写一个bookmarklet,它将在页面上插入一个脚本,该脚本会调用您返回的脚本 – 这样也可以显示一个弹出窗口

javascript:
function%20iprl5(){
  var%20d=document; // shorten document object
  var z=d.createElement('scr'+'ipt'); // create a script tag
  var b=d.body; // get document.body
  var l=d.location; // get document.location - I would get document.URL instead
  try{
    if(!b) throw(0); // if there is no body object available
    d.title='(Saving...)%20'+d.title; // set document.title
    z.setAttribute('src',l.protocol+'//www.yourserver.com/test.php?u='+encodeURIComponent(l.href)+'&time='+(new%20Date().getTime())); // create the script url
    b.appendChild(z); // append it to the body - I would append to head myself
  }
  catch(e){ // give an error
    alert('Please%20wait%20until%20the%20page%20has%20loaded.');
  }
}
iprl5(); // call it
void(0); // make sure it does not return a value to the window

将此视图源:http://www.instapaper.com/j/deyNbbpjuSei?u = http://www.stackoverflow.com粘贴到位置栏中,查看作为您所在页面的一部分返回的内容

标签:php,javascript,bookmarklet,html
来源: https://codeday.me/bug/20190704/1380609.html