通过Javascript而不是<script src =“external.aspx”> </script>执行外部脚本

时间:2013-07-20 19:43:04

标签: javascript

1)以下是有效的方法:

SearchTool.aspx(在下面的代码段中)是第三方产品,它实际上会在页面加载时使用搜索工具在页面中插入iframe。

<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,则搜索工具无法正常工作。奇怪我知道,但是确实如此。所以这不是一个选择。

1 个答案:

答案 0 :(得分:-2)

将脚本标记包含在样式为display:none的div中以隐藏它:

<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';    
}