everyone。 我創建了我的頁面,並使用IFrame插入到另一個頁面中。現在我試圖使用純JavaScript或jquery獲取插入頁面的整個文本。這是我現在有,但它不工作...從jquery獲取iframe的內容
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="jquery-1.5.1.js"></script>
<script type="text/javascript">
function getFrameContents(){
return $("#myframe").contents().find('body');
}
</script>
</head>
<form>
<input type="button" value="CodingForums" onClick="window.alert(getFrameContents())" />
</form>
<iframe id='myframe' src="http://www.fxstreet.com/rates-charts/currency-rates/" width="100%" height="300">
<p>Your browser does not support iframes.</p>
</iframe>
</html>
我讀過也有一些關於訪問不同的服務器頁面的政策。我如何正確地做到這一點?
爲什麼被禁止?我只想讀取加載頁面的內容。我可以用巴斯來做,爲什麼我不能用js來做呢? – damluar 2011-03-08 13:15:23
因爲你可以注入頁面,這意味着你可以將它重定向到任何你想要的地方,劫持它:) – Val 2011-03-08 13:46:44
@damluar當攻擊者可以在頁面中執行腳本時,有一類稱爲XSS(跨站點腳本)的攻擊內容。通過這種方式,他們可以訪問cookie,會話數據等。 - 想象一下,您在隱藏的iframe中打開gmail.com並閱讀訪問者的電子郵件。 – vbence 2011-03-08 14:01:19