[英]Injecting javascript into page via url
我正在嘗試通過url運行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';
發生的事情是我的整個頁面將變為空白,並且只有“ string1”值會顯示在頁面中。 但是,運行以下代碼可以正常工作:
javascript:document.getElementById('name').value = 1;
它將名稱字段的值更改為1。我想知道是什么導致了此問題。
注意:這項工作的目的是將代碼注入android的webview中。
任何建議表示贊賞。
嘗試這個。
javascript:document.getElementById('name').value = 'string1'; undefined;
應對“未定義;” 到任何返回字符串的腳本。
那是因為您在屬性值后使用單引號
value=''
並且您使用更改了它在javascript中的值
document.getElementById('name').value='string1';
所以HTML成為
<input type='text' id='name' value=''string1''
您可以使用修復它
value=""
或使用
document.getElementById('name').value="string1";
好吧,我嘗試了以下代碼
<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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.