seawolf2357 commited on
Commit
1c0dc91
ยท
verified ยท
1 Parent(s): 29554a2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -6
app.py CHANGED
@@ -1307,7 +1307,17 @@ init();
1307
  renderTL();
1308
  stat('์ค€๋น„๋จ | ๋‹จ์ถ•ํ‚ค: Space(์žฌ์ƒ), Delete(์‚ญ์ œ), โ†โ†’(์ด๋™)');
1309
 
1310
- // ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ ๋กœ๋“œ
 
 
 
 
 
 
 
 
 
 
1311
  var initData = {media_data};
1312
  if (initData && initData.length) {{
1313
  initData.forEach(function(m) {{
@@ -1365,12 +1375,37 @@ def process_files(files):
1365
 
1366
 
1367
  def make_iframe(data):
1368
- """์—๋””ํ„ฐ iframe ์ƒ์„ฑ - data URL๋กœ ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ œ ์™„์ „ ํšŒํ”ผ"""
1369
- j = json.dumps(data, ensure_ascii=False)
1370
- html_content = get_editor_html(j)
1371
- # base64 ์ธ์ฝ”๋”ฉ ํ›„ data URL๋กœ ์‚ฌ์šฉ
1372
  b64 = base64.b64encode(html_content.encode('utf-8')).decode('utf-8')
1373
- return f'<iframe src="data:text/html;base64,{b64}" style="width:100%;height:700px;border:none;border-radius:10px"></iframe>'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1374
 
1375
 
1376
  def export_mp4(export_json):
 
1307
  renderTL();
1308
  stat('์ค€๋น„๋จ | ๋‹จ์ถ•ํ‚ค: Space(์žฌ์ƒ), Delete(์‚ญ์ œ), โ†โ†’(์ด๋™)');
1309
 
1310
+ // postMessage๋กœ ๋ฏธ๋””์–ด ๋ฐ์ดํ„ฐ ์ˆ˜์‹ 
1311
+ window.addEventListener("message", function(e) {{
1312
+ if (e.data && e.data.type === "loadMedia" && e.data.data) {{
1313
+ console.log("[VideoEditor] Received media via postMessage:", e.data.data.length);
1314
+ e.data.data.forEach(function(m) {{
1315
+ addMedia(m.name, m.type, m.dataUrl, m.filePath);
1316
+ }});
1317
+ }}
1318
+ }});
1319
+
1320
+ // ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ ๋กœ๋“œ (๋นˆ ๋ฐฐ์—ด)
1321
  var initData = {media_data};
1322
  if (initData && initData.length) {{
1323
  initData.forEach(function(m) {{
 
1375
 
1376
 
1377
  def make_iframe(data):
1378
+ """์—๋””ํ„ฐ iframe ์ƒ์„ฑ - ๋นˆ ์—๋””ํ„ฐ ๋กœ๋“œ ํ›„ postMessage๋กœ ๋ฏธ๋””์–ด ์ถ”๊ฐ€"""
1379
+ html_content = get_editor_html("[]") # ํ•ญ์ƒ ๋นˆ ๋ฐฐ์—ด๋กœ ์‹œ์ž‘
 
 
1380
  b64 = base64.b64encode(html_content.encode('utf-8')).decode('utf-8')
1381
+
1382
+ # ๋ฏธ๋””์–ด ๋ฐ์ดํ„ฐ๋ฅผ postMessage๋กœ ์ „๋‹ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ
1383
+ media_json = json.dumps(data, ensure_ascii=False) if data else "[]"
1384
+
1385
+ return f'''
1386
+ <iframe id="editorFrame" src="data:text/html;base64,{b64}" style="width:100%;height:700px;border:none;border-radius:10px"></iframe>
1387
+ <script>
1388
+ (function() {{
1389
+ var mediaData = {media_json};
1390
+ var iframe = document.getElementById("editorFrame");
1391
+
1392
+ function sendMedia() {{
1393
+ if (iframe.contentWindow && mediaData.length > 0) {{
1394
+ iframe.contentWindow.postMessage({{type: "loadMedia", data: mediaData}}, "*");
1395
+ }}
1396
+ }}
1397
+
1398
+ iframe.onload = function() {{
1399
+ setTimeout(sendMedia, 300);
1400
+ }};
1401
+
1402
+ // ์ด๋ฏธ ๋กœ๋“œ๋œ ๊ฒฝ์šฐ
1403
+ if (iframe.contentDocument && iframe.contentDocument.readyState === "complete") {{
1404
+ setTimeout(sendMedia, 300);
1405
+ }}
1406
+ }})();
1407
+ </script>
1408
+ '''
1409
 
1410
 
1411
  def export_mp4(export_json):