Javascript 如何让bookmarklet运行,允许抓取文本、加载特定表单并将文本传递到表单中

Javascript 如何让bookmarklet运行,允许抓取文本、加载特定表单并将文本传递到表单中,javascript,jquery,bookmarklet,Javascript,Jquery,Bookmarklet,我对JavaScript非常陌生,我想为我使用的Web服务构建一个Bookmarklet。我需要从任何页面抓取文本,加载服务的表单,并将文本发布到表单的textfield中。到目前为止,我得到了这个: // grab text javascript:(function(){var t=window.getSelection?window.getSelection().toString():document.selection.createRange().text;t="You selected:

我对JavaScript非常陌生,我想为我使用的Web服务构建一个Bookmarklet。我需要从任何页面抓取文本,加载服务的表单,并将文本发布到表单的textfield中。到目前为止,我得到了这个:

// grab text
javascript:(function(){var t=window.getSelection?window.getSelection().toString():document.selection.createRange().text;t="You selected: "+t;alert(t);})()

//load form
document.onload=function(){window.location=%22http://www.streetmails.com/index.php%3Fc=mailing%26a=content%22})();

//paste text into form
window.onload=function%20D(a,b){c=b.split('|');d=false;for(q=0;q<c.length;q++){if(c[q]==a)d=true;}return%20d;}function%20E(){f0=document.forms[0];f0['subject'].value='news from London';f0['content'].value='<echo$_GET['t']?>';f0[''].value='Add%20a%20picture...';f0['topicId'].value='4';}E
//抓取文本
javascript:(function(){var t=window.getSelection?window.getSelection().toString():document.selection.createRange().text;t=“您选择的:”+t;警报(t);})()
//荷载形式
document.onload=function(){window.location=%22http://www.streetmails.com/index.php%3Fc=mailing%26a=content%22})();
//将文本粘贴到表单中

window.onload=函数%20D(a,b){c=b.split('|');d=false;用于(q=0;q您无法使用bookmarklet完成您正试图完成的任务。当您执行bookmarklet时,您正在当前网页中执行Javascript。在一个web域的网页中运行的Javascript无法与来自不同web域的网页交互。
document.onload
在bookmarklet中几乎不起作用因为通常在单击bookmarklet之前已经加载了网页

让我们将带有文本的页面称为“文本页面”。让我们将带有表单的页面称为“表单页面”。web表单始终提交到另一个页面或提交到自身。这取决于表单的
操作
值。让我们将其称为操作页面。表单可以通过
GET
POST
提交

为了使用bookmarklet实现您的目标,通常所做的是bookmarklet将在文本页面上创建一个表单,然后将该表单直接提交到操作页面

如果操作页面将接受GET(仅查询字符串值),这是最简单的。请在此处查找许多此类示例:

如果操作页面需要POST,则会稍微复杂一些,因为必须使用Javascript创建表单:


插件、扩展和用户脚本可以更直接地用于做您想要做的事情,因为它们不仅限于在当前域中操作,当然它们的编程更复杂。

您的问题非常笼统。您遇到了什么具体问题吗?谢谢您的回答!我将尝试链接和我会尽快回来的。新年快乐!