我正在构建一个Web应用程序,我需要创建一个反馈表单小部件,以便用户可以将其放入他们的网站,所有提交的数据将保存在我的Web应用程序中。我还需要在用户提交信息之前在窗口小部件中进行身份验证(例如,使用我的应用程序登录表单或Facebook帐户)。
我从未构建过这样的东西。什么是最好的方法?。我真的不符合原始的javascript。但如果我使用jquery,它可能会与客户端的页面冲突。那么跨域请求呢?。
请注意,我的小部件的第一个版本应该是一个弹出窗口。
感谢您的帮助。
答案 0 :(得分:1)
在您的情况下,我建议您使用<iframe>
。它应该可以防止您的框架和父网站之间发生任何javascript冲突,并且在所有主要的Web浏览器中得到广泛支持。
然后,您应该可以使用window.open
方法打开弹出窗口。我对弹出窗口要谨慎,因为没有可靠的跨浏览器方法来检测弹出窗口是否被阻止,这可能会让用户感到困惑。
答案 1 :(得分:1)
或者,如果iframe或弹出窗口不是您想到的,您仍然可以使用AJAX执行此操作,但您需要使用JSONP或在所有设置Access-Control-Allow-Origin
header你的回答。
然而,那说,你最好的选择可能是一个iframe。这允许您立即推出错误修复程序,而不依赖于客户端将其客户端更新到最新版本。
答案 2 :(得分:0)
如果是弹出窗口,您只需打开那些在您的网络应用上打开反馈页面的人...
<head>
<script type="text/javascript">
function mypopup(url) {
mypopup = window.open(
url,
"mypopup",
"width=600,height=400,status=yes,scrollbars=yes,resizable=yes"
);
mypopup.focus();
}
</script>
</head>
<body>
<a href="#" onclick="mypopup('http://example.com/feedbackform');">
Open Feedback Form
</a>
</body>