通过url将javascript注入页面

时间:2016-09-24 08:30:35

标签: javascript html webview

我尝试通过网址运行javascript代码来更改页面中表单的值。 这是HTML页面的内容。

<html>
<body>
<form method='post'>
Name: <input type='text' id='name' value='' /><br />
Family: <input type='text' id='family' value='' /><br />
Email: <input type='text' id='email' value='' /><br />
<input type='submit' value='Submit' /><br />
</form>
</body>
</html>

现在,我在chrome的URL部分输入以下值:

javascript:document.getElementById('name').value = 'string1';

我的整个页面将变为空白,只有值#34; string1&#34;将显示在页面中。 但是,运行以下代码可以正常工作:

javascript:document.getElementById('name').value = 1;

它会将name字段的值更改为1。 我想知道造成这个问题的原因。

注意:这项工作的目的是将代码注入android中的webview。

感谢任何建议。

3 个答案:

答案 0 :(得分:0)

试试这个。

rscvn

坚持'未定义;'到任何返回字符串的脚本。

答案 1 :(得分:-1)

这是因为您在属性值

之后使用单引号
value=''

并且您使用

在javascript中更改了它的值
document.getElementById('name').value='string1';

所以html变成了

<input type='text' id='name' value=''string1''

您可以使用

修复它
value=""

或使用

document.getElementById('name').value="string1";

答案 2 :(得分:-1)

我尝试了下面的代码

<html>
<body>
<form method='post'>
Name: <input type='text' id='name' value='' /><br />
Family: <input type='text' id='family' value='' /><br />
Email: <input type='text' id='email' value='' /><br />
<input type='submit' value='Submit' /><br />
</form>
<button onclick="change()">Click me</button>
<script>
function change(){
var obj=document.getElementById('name');
obj.value="string1";

}
</script>
</body>
</html>

它在你的脚本中运行得很好 你创建了一个函数来更改值或只是将代码放在像这样的脚本标记

<script>document.getElementById('name').value="String1";<script>