2013-07-20 47 views
0

1)這裏是工作得很好:通過JavaScript執行外部腳本,而不是<SCRIPT SRC = 「external.aspx」>

SearchTool.aspx(在下面的代碼片段)是一個第三方該產品將在頁面加載時將其中的搜索工具實際插入到頁面中。

<html> 
<head>....</head> 
<body> 
... 
... 
<h2>Search Tool</h2> 
<script type='' src='http://foo.com/SearchTool.aspx</script> 
... 
</body> 
</html> 

2)這是我想做的事:

我想我的頁面沒有搜索工具在同一時間被加載快速加載。用戶可以通讀我的頁面,然後,如果他們想要,他們可以點擊一個按鈕來加載搜索工具,從而延遲工具加載時間到他們想要的時間。

我希望能夠從如下一鍵點擊調用SearchTool.aspx,但我不知道代碼是什麼樣子如下showSearch()函數:

<h2>Search Tool</h2> 
<script type='text/javascript'> 
function showSearch(){ 

**** What would go here? ***** 

} 
</script> 

<input .....="" onclick="showSearch();"></input> 

3)我已經探討了創建手動的iframe:

中的代碼片段#1上面工作得很好,如果我做了查看源文件,然後創建完全一樣,他們做的都是一樣的IFRAME屬性,搜索工具不能完全正常工作。奇怪我知道,但是是真的。所以這不是一個選項。

+0

你能控制SearchTool的輸出。 ASPX?您可以通過AJAX閱讀其內容並將其粘貼到文檔中的任何位置。 –

+0

只需做一個document.CreateElement來創建腳本標籤,然後將其插入到Dom中。看看谷歌分析代碼,看看它是如何完成的。他們做同樣的事情 – Pinoniq

+0

Rotem,我不熟悉AJAX,所以我不知道這是否可能。 – user2602822

回答

-2

總結你的腳本標籤在一個div風格display:none來隱藏它:

<h2>Search Tool</h2> 
<div id="searchTool" style="display:none"> 
    <script type='' src='http://foo.com/SearchTool.aspx</script> 
</div> 
... 

然後,在你的功能,你只要給它:

function showSearch(){ 
    document.getElementById("searchTool").style.display = 'block';  
} 
+0

您的解決方案仍然在頁面加載時調用aspx,這正是我想要避免的。我希望我的頁面能夠快速加載,而不必同時加載搜索工具,他們可以通過我的頁面進行閱讀,然後,如果用戶需要,他們可以單擊按鈕加載搜索工具,從而延遲工具加載時間當他們想要它時。 – user2602822

相關問題