我有两个html页面。在主页面中,单击链接时,应在小的内联窗口中打开链接后面的URL。经过大量搜索后,我发现我可以使用Innerhtml将url加载到一个小div中(我也测试了iframe和ajax,但它们在chrome中不起作用)。 1.是否可以在innerhtml中调用主页面中定义的函数? 2.在主页面和innerhtml页面中,我有相同的选项卡和同名对象,其中一个选项卡称为map。当在innerhtml中单击一个按钮时,我希望在主页面的地图中添加一个点而不是innerhtml本身的地图。 以下是代码的一部分:
<script>
function load_home(url) {
document.getElementById("content").innerHTML = '<object type="text/html"
data = "' + url + '" > < /object>';
}
</script>
<ul class="list-group gn-resultview">
<li class="list-group-item" data-ng-repeat="md in searchResults.records" gn-displayextent-onhover="" gn-zoomto-onclick gn-fix-mdlinks="">
<div class="media-body">
<div draggable id="content"> </div>
<h4>
<input gn-selection-md type="checkbox" ng-model="md['geonet:info'].selected" ng-change="change()" />
<!-- Icon for types -->
<a ng-href="#/metadata/{{md.getUuid()}}" onclick="load_home(this.href);return false;" title="{{md.title || md.defaultTitle}}">
<i class="fa gn-icon-{{md.type[0]}}" title="{{md.type[0] | translate}}"/>
{{(md.title || md.defaultTitle) | characters:80}}</a>
</h4>
<p class="text-justify" dd-text-collapse dd-text-collapse-max-length="350" dd-text-collapse-text="{{md.abstract || md.defaultAbstract}}"></p>
<blockquote ng-if="md.getContacts().resource">{{::md.getContacts().resource}}</blockquote>
</div>
<div>
<gn-links-btn></gn-links-btn>
</div>
</li>
</ul>
答案 0 :(得分:1)
在innerhtml页面中,您可以调用主页的功能,例如“test()”,如下所示: parent.test()
举个例子: 在innerhtml网址:
<script>
function test1()
{
parent.test();
}
</script>
在innehtml页面中:
<button type="button"
class="btn btn-default btn-sm btn-block"
data-ng-show="hasAction(mainType)"
onclick="test1()" >