我想第一次使用Ajax將一個網站扔在一起,最終得到時間並弄清楚。到目前爲止,它只是HTML頁面和一點JS。使用我在網上找到的一些基本的AJAX腳本,我有主標題,導航和內容div。 Ajax調用抓取其他內容(包括大部分文本內容的文件),將其放入內容div中。除了當我試圖添加Google路線小工具時,大部分情況下都是有效的。當我添加腳本代碼時,它會給我一個文件並調用該文件,但沒有明顯的輸出。從Ajax調用抓取Google方向小工具
關於我在做什麼的錯誤或我錯過了什麼建議?
我想第一次使用Ajax將一個網站扔在一起,最終得到時間並弄清楚。到目前爲止,它只是HTML頁面和一點JS。使用我在網上找到的一些基本的AJAX腳本,我有主標題,導航和內容div。 Ajax調用抓取其他內容(包括大部分文本內容的文件),將其放入內容div中。除了當我試圖添加Google路線小工具時,大部分情況下都是有效的。當我添加腳本代碼時,它會給我一個文件並調用該文件,但沒有明顯的輸出。從Ajax調用抓取Google方向小工具
關於我在做什麼的錯誤或我錯過了什麼建議?
如果我正確理解你,這是一個不必要的使用AJAX。從看起來你想要做的是通過JavaScript調用加載JavaScript。這可以使用描述爲here的任一方法來完成。例如:
<script type="text/javascript">
function dhtmlLoadScript(url)
{
var e = document.createElement("script");
e.src = url;
e.type="text/javascript";
document.getElementsByTagName("head")[0].appendChild(e);
}
onload = function()
{
dhtmlLoadScript("dhtml_way.js");
}
</script>
如果上述鏈接不起作用或者我誤解了您的問題,請提供進一步的說明或某種代碼示例。
您的評論
這裏跟進一個變通爲您的小工具,下面的代碼將是你的主網頁(初始裝入一個)上。這裏是我的測試HTML頁面:
<html>
<head>
<script type="text/javascript">
var gadget;
function getGadgetAndMove(node)
{
gadget = document.getElementsByTagName("table")[0];
node.appendChild(gadget);
gadget.style.visibility = "visible";
gadget.style.display = "inline-block";
}
</script>
<style>
.ig_reset, .ig_tbl_line { visibility:hidden;}
</style>
</head>
<body>
<div onclick="getGadgetAndMove(this);">Test</div>
</body>
<script src="http://www.gmodules.com/ig/ifr?url=http://hosting.gmodules.com/ig/gadgets/file/114281111391296844949/driving-directions.xml&up_fromLocation=&up_myLocations=1600%20Amphitheatre%20Pkway%2C%20Mountain%20View%2C%20CA&synd=open&w=320&h=55&title=Directions+by+Google+Maps&brand=light&lang=en&country=US&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"></script>
</html>
如果您需要進一步解釋請讓我知道。
我相信我知道你想完成什麼,因爲我遇到了同樣的問題。我找到了一個解決方案。所以我會說,不,這不是不恰當的使用ajax,因爲在某些情況下你可能會遇到這種情況。
將說明小工具不直接放在通過ajax加載的頁面內容中,而是放在單獨的文件中,如「directionsgadget.html」(在此文件中插入小工具的腳本標記)。
然後在加載ajax的內容中使用帶有src =「/ path/to/directionsgadget.html」的iframe。
小工具應該以這種方式裝載。
如果您希望小工具在iframe中居中,您可以在設置寬度和style =「margin:0px auto」的div中將方法標記封裝在directionsgadget.html中。這將以小工具爲中心。
下面是一個例子:
你的主頁是「index.html的」,幷包含一個div將包含AJAX加載的內容:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url: 'ajaxcontent.html',
success: function(returndata){ $('#ajaxcontent').html(returndata); }
});
});
</script>
</head>
<body>
<div id="ajaxcontent"></div>
</body>
</html>
然後,你必須與內容的文件是通過ajax加載的,這其中包括谷歌小工具。我們不會直接將小工具放在這裏,而是將它放在一個單獨的文件中,並用iframe指向它。讓我們把第一個文件ajaxcontent.html,作爲第一個文件的頭一節中的Ajax調用表示:
<span>Here is some content that will be loaded onto the main page via ajax.</span><br />
<span>Among other things, there is a google directions gadget that will be loaded.</span>
<div id="getdirections" style="margin:0px auto;">
<iframe style="width:365px;height:216px;" src="directions.html"></iframe>
</div>
現在我們把劇本的谷歌小工具本身在一個單獨的文件「的方向。HTML」(如上面的iframe的src表示),並且爲了呈現小工具爲中心,我們要一個div內包裹腳本標籤只是如此:
<div style="width:336px;height:116px;margin:0px auto;">
<script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http://hosting.gmodules.com/ig/gadgets/file/114281111391296844949/driving-directions.xml&up_fromLocation=&up_myLocations=_a_bunch_of_information_with_personal_list_of_locations_&synd=open&w=320&h=55&title=Street+directions+by+Google+Maps&brand=light&lang=it&country=ALL&border=http%3A%2F%2Fwww.gmodules.com%2Fig%2Fimages%2F&output=js"></script>
</div>
我希望這個例子是
你可以鏈接到該項目或提供一些代碼 – 2009-10-29 00:04:51