javascript - Angular 8 click 用作 javascript onload 函数
问题描述
我的 Angular 应用程序正在加载到 iframe portlet 中。
在父 JSP 页面中,我有一个表单并提交不可见按钮,这将打开一个来自外部应用程序的弹出窗口。
我正在尝试从角度组件中单击该按钮。
Click没有按预期工作,它像onload一样工作。当页面被加载时,弹出窗口会自动出现。
网页。
<html>
...
...
<!-- Left nav Menu-->
<div>
<ul> <li>....</li>
...
<li>
<a herf="javascript:void(0);" (click)="navigateToParentJspMethod('true')">Contact Us</a>
</li>
...
</html>
组件 ts 文件
navigateToParentJspMethod(popupFlg: string){
console.log(popupFlg+' Test');
if(popupFlg==='true'){
$("#parentPageFrmSubmit", window.parent.document).click();
}
父 Jsp 页面
<script>
function openContactUsPopUpFromExternalApp(){
.....
document.getElementById("parentPageFrm").submit();
}
</script>
<form name="parentPageFrm" id="parentPageFrm" action="parentPageFrmSubmitAction" method="post" target="openContactUsWin">
<input type="hidden".....>
......
<button type="submit" id="parentPageFrmSubmit" style="display:none" onclick="openContactUsPopUpFromExternalApp()">Submit</button>
</form>
谢谢,拉玛
解决方案
最后,我能够解决这个问题。
我删除了 Jquery,并且确实使用了从 angular 到父 jsp 的 parent.postmessage 并从我的父 jsp 打开弹出窗口。
网页。
<html>
...
...
<!-- Left nav Menu-->
<div>
<ul> <li>....</li>
...
<li>
<a herf="#" (click)="navigateToParentJspMethod('true')">Contact Us</a>
</li>
...
</html>
组件 ts 文件
navigateToParentJspMethod(popupFlg: string){
console.log(popupFlg+' Test');
var data="functionality=contactUsPopUp";
parent.postMessage(data,*);
}
父 Jsp。
window.addEventListener("message", handleMessage, false);
function handleMessage(e){
var formData= e.data;
var formValue= formData.split(";");
var functionality=((formValue[0].substr((formValue[0].indexOf("="))).slice(1);
if(functionality=="contactUsPopUp"){
document.getElementById("popupInvisibleButton").click();
}
}
它确实对我有用。:)
推荐阅读
- java - 错误:org.json.JSONArray 类型无法转换为 JSONObject
- c++ - 如何编写一个通用函子,它在没有任何条件的情况下也可以在有条件的情况下工作(无论是真还是假)?
- python - 在具有分布式访问权限的远程计算机上对 Python 脚本进行基准测试
- java - com.sun.mail.util.MailConnectException:无法连接到主机,端口:smtp.gmail.com,587;超时 -1
- android - Firestore:在 OnDestroyView 或 OnStop 或 OnPause 中分离快照侦听器?
- java - Controller 类中的全局变量被打开的最新会话覆盖
- java - 程序类型已经存在:com.bumptech.glide.MemoryCategory
- dart - 将 .dart.snapshot 反编译成 Dart 源代码
- jquery - 使用 Jquery 在悬停时播放音频
- angular - 嵌套反应形式