从一个页面存储数据客户端以填写另一个站点上的表单

时间:2013-11-18 00:47:04

标签: javascript forms post bookmarklet cross-site

我想帮助我网站的访问者使用我网站上生成的数据在其他网站(无法控制)上填写表单。

当用户在我的网站上时,可以使用书签将数据发布到表单,但表单是身份验证背后的一些点击。考虑到书签可能只读取当前网站上存储的内容(cookie,会话,存储),因此无法使用其他网站上的书签来填写表格,并在我的网站上存储数据。

请建议任何javascript,客户端解决方案。像书签或类似的东西。

谢谢。

1 个答案:

答案 0 :(得分:0)

使用书签,我会说你在正确的轨道上,但使用动态的。 e.g:

function makeBookmarklet(){
    var elt=document.createElement('a');
    var hrefString='';
    for(var k=0;k<arguments.length;k++){
        hrefString+=' document.getElementById("'+arguments[k].id+'").value="'+arguments[k].value+'";';
    }
    elt.href=hrefString;
    return elt;
}

然后你会调用该函数,每个参数应该是一个具有idvalue属性的对象。 id应该是自动填写的字段的ID。 value应该是要插入该字段的值。它返回一个元素,因此将其放在文档中的某个位置并告诉用户将其拖到书签栏中,然后在另一个站点上单击它。为了使它更清楚,你可以这样称呼它:

aElt=makeBookmarklet({id:'username',value:document.getElementById('username').value},{id:'othercrap',value:'fixedvalue'});