创建“复制粘贴JavaScript”时出现问题

时间:2010-10-21 20:47:39

标签: javascript

我正在尝试创建一个“复制粘贴javascript”(当用户将此javascript粘贴到网址栏并按回车键时,它将适用于http://www.vtunnel.com/。我的脚本会自动为当前页面创建一个表单,“textbox”的值将自动填充当前的url,并提交表单。我正在尝试这个JavaScript:

javascript:
_vtunnel_form=document.createElement('FORM');
_vtunnel_form.name='login';
_vtunnel_form.method='POST';
_vtunnel_form.action='http://www.vtunnel.com/index.php';
_vtunnel_h1=document.createElement('INPUT');
_vtunnel_h1.type='TEXT';
_vtunnel_h1.name='username';
_vtunnel_h1.value=encodeURIComponent(location.href);
_vtunnel_form.appendChild(_vtunnel_h1);
_vtunnel_h2=document.createElement('INPUT');
_vtunnel_h2.type='HIDDEN';
_vtunnel_h2.name='r4';
_vtunnel_h2.value=' checked';
_vtunnel_form.appendChild(_vtunnel_h2);
_vtunnel_h3=document.createElement('INPUT');
_vtunnel_h3.type='HIDDEN';
_vtunnel_h3.name='fa';
_vtunnel_form.appendChild(_vtunnel_h3);
_vtunnel_h4=document.createElement('INPUT');
_vtunnel_h4.type='HIDDEN';
_vtunnel_h4.name='if';
_vtunnel_h4.value=' checked';
_vtunnel_form.appendChild(_vtunnel_h4);
document.body.appendChild(_vtunnel_form);
_vtunnel_form.submit();

“Vtunnel”表单的计算代码如下所示: Screenshot from Chrome

但它无法正常工作。它给出了404错误。为什么?有没有解决方案?

2 个答案:

答案 0 :(得分:1)

据我所知,表单将提交给http://www.vtunnel.com/index.php,这会产生404错误。操作URL是您的屏幕截图与我的截图相同,因此将脚本的第五行更改为此应该有效:

_vtunnel_form.action='http://www.vtunnel.com/index.php/1010110A/ee908e12b7cb248c8ffd5b100619688';

编辑: 因为这仍然导致你到404仍然存在问题。事实证明,URL不应该是URI编码的。删除encodeURIComponent函数,使行如下所示:

_vtunnel_h1.value=location.href;

答案 1 :(得分:0)

你确定你的脚本运行正常吗?我通常最终将所有内容都包装在一个自我调用函数中,以使其工作。

javascript:(function() {  ...everything there... })()