2010-10-19 97 views
3
<body> 
<!-- some html code --> 

<script src='some.js'></script> 

<!-- some html code --> 

</body> 

腳本some.js加載表單。 當我按下以這種形式更新我不提交表單,而不是我形成一個查詢字符串,並希望將其作爲發送 some.js?key = value的使用腳本標記的跨站點腳本,更改腳本標記的src,我們可以使用id作爲腳本標記

現在我需要改變script標籤的src。

如果我們改變src,它會通過再次請求一個新的內容來工作嗎? 我們可以使用ID作爲腳本標記嗎?如果是的話,是否會被所有瀏覽器支持?

當收到新內容時,我將清除此腳本顯示的舊內容。 我認爲最好是有一個div,並把所有內容放在該div內。 我正在script.js重寫script.php在我的htaccess只顯示用戶,它只是一個JavaScript訪問或沒有問題,如果我給我一個.php。

以上是基本要求。

我們需要的只是使用一個腳本標記,它將從另一個站點獲取內容,並且應該在這裏更新。

您可以給出建議,以標準方式使用它,其中包括更新x站點的內容。

所以這就是人們所說的跨站點腳本,按需提供javascript和請添加更多的術語,如果有的話,我會更新自己。

任何形式的迴應都會有好處。

回答

2

根據W3C(http://www.w3.org/TR/REC-html40/interact/scripts.html#h-18.2.1)'腳本'標籤不支持任何標準屬性(包括'id'),但是它可以在大多數瀏覽器中使用。我不建議替換'腳本'標籤'src'屬性,而是建議刪除標籤並添加新標籤 - 這更可靠。我強烈建議閱讀關於JSONP和跨源資源共享(http://www.w3.org/TR/cors/)的文章 - 這些標準應該可以幫助您達到您想要的效果。

+2

W3C是一個發佈與網絡有關的規範的組織。 W3Schools是一家發佈質量差的教程但擅長搜索引擎優化的組織。他們不是**同一個組織。腳本元素在某些HTML版本中支持id屬性。 – Quentin 2010-10-19 09:53:36

+0

我從來沒有寫過他們是同一個組織,雖然我承認我發佈了錯誤的鏈接(現在編輯)。其餘的保持真實。 – tpeczek 2010-10-19 10:07:24

+0

如果我有很多腳本標記,並且我可能不知道它的確切位置?我是否應該將該腳本標記包裝成一個ID爲

的ID,以便我們可以操作div內的腳本標記... – 2010-11-22 09:16:57

2

由於@tpeczek提到,要改變腳本的src屬性是不夠的,有些瀏覽器不會重新加載腳本。
使用以下方法來代替標籤:

var oldScript = document.getElementById('someID'); 
var script = document.createElement("script");   
script.setAttribute("type","text/javascript");     
script.setAttribute("id","someID"); 
script.setAttribute("src",url); 

if (oldScript == null) {    
    document.body.appendChild(script); 
} else { 
    document.body.replaceChild(script, oldScript); 
} 
+0

人們說這個ID不起作用。除了你的代碼是好的。 – 2010-11-22 09:16:22

+0

我在Firefox中使用,並沒有問題。不知道關於跨瀏覽器... – Dror 2010-11-22 10:34:19

1

想不出你去的老式方法,並通過所有腳本元素行走,檢查SRC找到some.js?

+0

它會工作,但比其他答覆更繁瑣的方式 – 2010-12-09 05:49:22