通过Javascript而不是<script src=“;external.aspx”>

Executing an external script via Javascript rather than <script src="external.aspx">

本文关键字:external aspx gt src script lt 通过 Javascript      更新时间:2023-09-26

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,就像它们使用所有相同的属性一样,那么搜索工具就不能完全正常工作。我知道很奇怪,但这是真的。所以这不是一个选择。

用样式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';    
}