react-iframe-plugin 0.0.15 → 0.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,8 +1,19 @@
1
- # React + Vite
1
+ # IframePlugin
2
2
 
3
- This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
3
+ npm i react-iframe-plugin
4
4
 
5
- Currently, two official plugins are available:
5
+ or yarn add react-iframe-plugin
6
6
 
7
- - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8
- - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
7
+ or pnpm i eact-iframe-plugin
8
+
9
+ - import IframePlugin from 'react-iframe-plugin';
10
+ - <IframePlugin
11
+ currentDomain="http://localhost:3000" //當前domain
12
+ iframeDomain="https://amcm.staging.wizmacau.com" //加載domain
13
+ src="https://amcm.staging.wizmacau.com/zh-hant/header" //加載地址
14
+ url="https://amcm.staging.wizmacau.com" //點擊跳轉地址
15
+ basicHeight="250px" //初始高度
16
+ height="800px" //展開高度
17
+ width="100%" //寬度
18
+ />
19
+
@@ -4,6 +4,13 @@ interface IframePluginProps {
4
4
  title: string;
5
5
  width: string;
6
6
  height: string;
7
+ types: string;
8
+ currentDomain: string;
9
+ iframeDomain: string;
10
+ basicHeight: string;
11
+ url: string;
12
+ newWindow: boolean;
13
+ footerHeight: string;
7
14
  }
8
15
  declare const IframePlugin: React.FC<IframePluginProps>;
9
16
  export default IframePlugin;
@@ -1,16 +1,54 @@
1
- import { jsx as a } from "react/jsx-runtime";
2
- const s = ({ src: r, title: e, width: l, height: o }) => /* @__PURE__ */ a(
3
- "iframe",
4
- {
5
- src: r,
6
- title: e,
7
- width: l,
8
- height: o,
9
- style: { border: "none" },
10
- sandbox: "allow-scripts allow-same-origin",
11
- allowFullScreen: !0
12
- }
13
- );
1
+ import { jsx as n, Fragment as w, jsxs as b } from "react/jsx-runtime";
2
+ import { useState as x, useEffect as y } from "react";
3
+ const v = (g) => {
4
+ const [l, s] = x(""), { footerHeight: f, newWindow: d, url: h, basicHeight: t, iframeDomain: r, currentDomain: e, types: p, src: c, title: m, width: u, height: o } = g;
5
+ return y(
6
+ () => {
7
+ const a = document.getElementById("iframePlugin");
8
+ console.log(87878787, a.contentWindow, e, r, h, o, t, d), a.addEventListener("load", function() {
9
+ console.log("currentDomain────────────", e, t), s(t || "250px"), e && a.contentWindow.postMessage(
10
+ {
11
+ currentDomain: e || "http://localhost:8081",
12
+ iframeDomain: r || "http://localhost:8086",
13
+ url: h || "http://localhost:8081",
14
+ height: o || "800px",
15
+ basicHeight: t,
16
+ newWindow: d || !0
17
+ },
18
+ r || "http://localhost:8086"
19
+ );
20
+ }), window.addEventListener("message", function(i) {
21
+ console.log(123123123123, i), console.log("Fetch iframe:", i.data.height), i.data && s(i.data.height);
22
+ });
23
+ },
24
+ []
25
+ ), /* @__PURE__ */ n(w, { children: /* @__PURE__ */ b("div", { style: { width: "100%", position: "relative", paddingBottom: "250px" }, children: [
26
+ /* @__PURE__ */ n("div", { style: { position: "absolute", left: "30%", top: 0, color: "white" }, children: l }),
27
+ p === "footer" ? /* @__PURE__ */ n(
28
+ "iframe",
29
+ {
30
+ id: "iframeFooter",
31
+ src: c,
32
+ title: m,
33
+ width: u,
34
+ height: o,
35
+ style: { border: "none", height: f, width: "100vw", background: "transparent", position: "absolute" },
36
+ allowFullScreen: !0
37
+ }
38
+ ) : /* @__PURE__ */ n(
39
+ "iframe",
40
+ {
41
+ id: "iframePlugin",
42
+ src: c,
43
+ title: m,
44
+ width: u,
45
+ height: o,
46
+ style: { border: "none", height: l, width: "100vw", background: "transparent", position: "absolute" },
47
+ allowFullScreen: !0
48
+ }
49
+ )
50
+ ] }) });
51
+ };
14
52
  export {
15
- s as default
53
+ v as default
16
54
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-iframe-plugin",
3
3
  "private": false,
4
- "version": "0.0.15",
4
+ "version": "0.0.17",
5
5
  "scripts": {
6
6
  "dev": "vite",
7
7
  "lint": "eslint .",