JS在第三方网站中弹出我的网页

发布于 2024-10-18 05:27:04 字数 187 浏览 6 评论 0原文

我需要从客户的网站中弹出我的网页。我的网页在输入框中收集一些数据,然后关闭 --- 即。这只是一个基本表单,我所需要的只是显示它并向用户提供一个关闭按钮。

执行此操作的最佳 JS 工具是什么?我发现 colorbox 看起来很酷,但我担心它会破坏我客户的网站,因为它需要 jQuery(而且我的客户可能使用比 colorbox 引入的旧版本)。

I need to popup my webpage from within our customer's websites. My webpage gathers some data in input boxes and then closes --- ie. It's just a basic form and all I need is to display it and give a close button to the user.

What's the best JS tool to do this? I found colorbox and it looks cool, but I am concerned that it will break my customer's site as it requires jQuery (and my customer may be using an older version than colorbox pulls in).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁月静好 2024-10-25 05:27:04

我的观点是,鉴于浏览器中的跨站点脚本预防机制,您将很难实现这一目标。

例如,您无法使用 ajax 从另一个域加载页面。

您当然可以使用“解决方法”加载页面,它使用 javascript 通过文档从外部 url 加载内容。使用页面的 url 编写 javascript 脚本标记,这模仿了 http get。 (此处的示例xss

您将无法将生成的表单发回您的站点,但使用一些 javascript,您可以读取表单数据并通过构建 url 的查询字符串来创建另一个 get 请求。

编辑

<iframe id="myFrame" style="display:none" src="mysite.com/page"/>

...

function show()
{
  document.getElementById("myFrame").style.display = "block";
}

function hide()
{
  document.getElementById("myFrame").style.display = "none";
}

My opinion is that you will struggle to achieve this given the cross-site scripting prevention mechanisms in browsers.

You cannot load a page using ajax from another domain for example.

You can certainly load the page using a "workaround", which uses javascript to load content from an external url by document.writing a javascript script tag with the url of your page, this mimics an http get. (example here xss)

You would not be able to post the resulting form back to your site, but with some javascript you could read the form data and create another get request by building up the querystring of the url.

EDIT

<iframe id="myFrame" style="display:none" src="mysite.com/page"/>

...

function show()
{
  document.getElementById("myFrame").style.display = "block";
}

function hide()
{
  document.getElementById("myFrame").style.display = "none";
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文