【问题标题】:Javascript ajax scripts in <head>?<head> 中的 Javascript ajax 脚本?
【发布时间】:2011-06-24 03:23:40
【问题描述】:

我有 2 个 html 页面(主页面和详细信息):主页面由一个表格和一个空 div 组成。当用户点击表格行时,空的 div 会通过 AJAX 从另一个页面(详细信息页面)填充。

在详细信息页面上,我想加载谷歌地图。此外,我希望页面能够自行运行(独立),而不仅仅是通过 AJAX。

所以这是我的问题: 要使用谷歌地图,我必须在 html 的头部包含这个脚本:

<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>

如果我将其包含在详细信息页面中,它可以独立运行。但是当我尝试从主页通过 AJAX 获取它时它不起作用。 Google 服务器挂起,没有进展。

另一方面,如果我将它包含在主页中,AJAX 可以正常工作,但详细信息页面无法单独运行,因为它缺少一个重要的包含。

我真的很想把它留在细节页面,因为它有更多的逻辑。有什么方法可以从详细信息页面加载到主页中的脚本?

一般来说,使用 javascript 和 AJAX 的最佳方法是什么?将所有内容保留在主页中?或者是否有任何机制可以将所有内容加载到主页中,但将代码保留在 ajaxed 页面中?

顺便说一句。我正在使用 jQuery,但这并不重要。这是设计问题,而不是库问题。

【问题讨论】:

  • 为什么要包含整个页面?如果您只包含正文,这样您就不会再次包含脚本...
  • 不能只加载正文。我在详细信息页面上也有一些其他脚本,需要保留在那里,例如地图配置:中心、标记、方向...

标签: javascript jquery ajax include


【解决方案1】:

由于您没有使用IFRAME,因此最好将 JAVASCRIPT 包含在主页而不是详细信息页面中 - 因为您可以这样做,并且 js 可以工作。我认为这将为您解决 ajax 问题,并且脚本已加载一次。

【讨论】:

  • 是的,IFRAME 可以。我只是认为它们在 AJAX 上已被弃用,而且在 AJAX 中也必须有一种方法可以做到这一点。是的,但正如我所提到的,详细信息页面将无法单独运行。我需要两种方式来工作
  • 我还是觉得不使用IFRAME比较好,把js文件保留在首页就好了。否则,使用IFRAME并将js放在细节中。
  • 我告诉过你,如果我将所有内容都保留在主页中,详细信息页面将无法单独运行。它必须这样做。我需要能够“全屏”打开详细信息页面进行打印。
猜你喜欢
  • 1970-01-01
  • 2011-06-10
  • 2014-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-18
  • 1970-01-01
相关资源
最近更新 更多