我想通过网站的API将一些文本粘贴到pastebin网站。
正如我所知(我对编程知识有限)我需要做两件事:首先处理所选文本,然后通过HTTP POST将其发布到pastebin站点。
我试着这样做......
javascript:'<body%20onload="document.forms[0].submit()"><form%20method="post"%20action="http://sprunge.us"><input%20type="hidden"%20name="sprunge"%20value="+ document.getSelection() +"></form>'
....(你猜对了!)每次都会给我一个页面,其中所选文本为“+ document.getSelection()+”。
任何帮助?
答案 0 :(得分:1)
您必须以编程方式创建表单,添加所需的字段,然后在JavaScript中发布所有字段。
以下是一个示例 - 您至少需要更改网址和字段名称:
<a href="
javascript:(function(){
var myform = document.createElement('form');
myform.method='post';
/* change this URL: */
myform.action='http://my-example-pastebin.com/submit.php';
/* The goodies go here: */
var myin=document.createElement('input');
/* Change the fieldname here: */
myin.setAttribute('name','fieldname_for_pasted_text');
myin.setAttribute('value',document.getSelection());
myform.appendChild(myin);
/* If you need another field for username etc: */
myin=document.createElement('input');
myin.setAttribute('name','some_field_1');
myin.setAttribute('value','some_field_value_1');
myform.appendChild(myin);
myform.submit();
})()
">Bookmarklet for posting selected text to an online pastebin</a>
以上压缩没有评论和换行符:
<a href="javascript:(function(){var myform = document.createElement('form'); myform.method='post'; myform.action='http://my-example-pastebin.com/submit.php'; var myin=document.createElement('input'); myin.setAttribute('name','fieldname_for_pasted_text'); myin.setAttribute('value',document.getSelection()); myform.appendChild(myin); myin=document.createElement('input'); myin.setAttribute('name','some_field_1'); myin.setAttribute('value','some_field_value_1'); myform.appendChild(myin); myform.submit();})()">Bookmarklet for posting selected text to an online pastebin</a>
我不熟悉 sprunge.us ,但是如果您的示例中有URL和fieldname,那么您可以通过搜索替换来实现这一点:
您还应该删除我的示例中包含的第二个字段(some_field_1,somefield_value_1)。