需要有关创建javascript小部件的提示

时间:2010-09-28 08:39:45

标签: javascript ajax widget cross-domain

我正在构建一个Web应用程序,我需要创建一个反馈表单小部件,以便用户可以将其放入他们的网站,所有提交的数据将保存在我的Web应用程序中。我还需要在用户提交信息之前在窗口小部件中进行身份验证(例如,使用我的应用程序登录表单或Facebook帐户)。

我从未构建过这样的东西。什么是最好的方法?。我真的不符合原始的javascript。但如果我使用jquery,它可能会与客户端的页面冲突。那么跨域请求呢?。

请注意,我的小部件的第一个版本应该是一个弹出窗口。

感谢您的帮助。

3 个答案:

答案 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>