Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

缓存捕获模式下修改文件名无法正常工作 #576

Open
op69qs opened this issue Dec 13, 2024 · 7 comments
Open

缓存捕获模式下修改文件名无法正常工作 #576

op69qs opened this issue Dec 13, 2024 · 7 comments

Comments

@op69qs
Copy link

op69qs commented Dec 13, 2024

扩展版本号 extension version

No response

浏览器

Google Chrome

浏览器版本号

No response

涉及网址

No response

请详细描述问题

当网页中包含iframe并且相应的sandbox属性不包含allow-modals 时,window.prompt 无法顺利执行,导致无法修改文件名

@op69qs op69qs changed the title 缓存捕获模式下修改文件名时效 缓存捕获模式下修改文件名失效 Dec 13, 2024
@op69qs op69qs changed the title 缓存捕获模式下修改文件名失效 缓存捕获模式下修改文件名无法正常工作 Dec 13, 2024
@xifangczy
Copy link
Owner

额。。我需要一个这样的网址 让我好测试一下 你有类似网站吗?

@op69qs
Copy link
Author

op69qs commented Dec 29, 2024

感谢关注,看到最新的commit中修改里面存在document not ready导致 catch.js:36 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
并且我这边解决这个问题后发现代码

if (node.nodeName === 'IFRAME') {
    processIframe(node);
}

没有正确触发

然后另一方面,如果需要我可以提交一个PR,采取用模态窗口替换window.prompt交互方式来解决

@xifangczy
Copy link
Owner

感谢测试 只需放到DOMContentLoaded 就行了。模拟窗口不太好 有时候iframe的窗口太小 没办法展开 我认为最好还是删除sandbox属性的方式。

@op69qs
Copy link
Author

op69qs commented Dec 30, 2024

document.addEventListener('DOMContentLoaded', () => {
    observer.observe(document.body, { childList: true, subtree: true });
});

你是指这样对吗,我这测试还是不行,没有调用processIframe(node);
我发现视频界面iframe应该由后续js动态生成插入,会不会是网页js生成iframe之后,插件代码再执行导致

@xifangczy
Copy link
Owner

已经提交了新的 你可以试试。。
做了个测试页面
https://ffmpeg.bmmmd.com/test/test.html
3秒后插入一个iframe
脚本都能正常删除sandbox属性 也能使用 window.prompt

@op69qs
Copy link
Author

op69qs commented Dec 30, 2024

感谢,这边使用最新代码还是没法使用prompt,在processIframe中加入断点后发现没有被触发

@xifangczy
Copy link
Owner

所以需要测试用例。。如果不方便发网址 可以通过邮件发送给我。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants