簡體   English   中英

通過URL將JavaScript注入頁面

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM