2014-02-07 105 views
0

在我的移動應用程序中,我有一行js代碼,如document.getElementById('ID_HERE')
我想用一些javascript代碼替換ID_HERE。我可以從我的服務器與應用程序通信的唯一部分是ID_HERE將javascript代碼插入字符串

不幸的是,我不能刪除單引號,直到我發佈移動應用程序的另一個更新,所以我希望這可以作爲臨時解決方案。

這可以完成(以及如何)?

+0

也許你可以做特林取代 – Ibu

+0

「一些JavaScript代碼」你的意思是實際的代碼,或不同的選擇? – cgatian

+0

我不知道我明白你想要做什麼。你在應用程序中有一行JS,你想要更改該行?你將如何運行改變JS的代碼? – Barmar

回答

2

不知道我是否完全理解您的要求,但也許您可以做單引號注射?也就是說,

'+(2*3)+' 

更換ID_HERE所以這顯示爲document.getElementById(''+(2*3)+'')

如果這是您的情況,請用任何JavaScript代碼替換2*3


另一種選擇:更換ID_HERE有:

'+(function() { alert("hi!"); return 'ID_HERE'; })()+' 

導致

document.getElementById(''+(function() { alert("hi!"); return 'ID_HERE'; })()+'') 

然後用任意的代碼替換alert,它仍然得到了ID_HERE元素(或其他任何你想要將其更改爲)。

+0

建立在此基礎上。嘗試身體'); alert('inject'); //如果它成功了,它不應該提醒注入嗎? – cgatian

+0

我不知道爲什麼我忽略了這個選項。謝謝。 – Jakar