Greasy Fork is available in English.

Diskuse » Creation Requests

如何通过脚本修改网页内iframe内的内容;为什么控制台里有用的代码,到了脚本就不好使了呢

§
Posted: 05. 06. 2020
Edited: 07. 06. 2020

如何通过脚本修改网页内iframe内的内容;为什么控制台里有用的代码,到了脚本就不好使了呢

自己查了查,在Firefox上试了,都没整明白,如果是控制台,可以右上角切换进去在操作,这是成功的,但这个切换进去的步骤我就不会把他搞到脚本里了。

§
Posted: 05. 06. 2020
Edited: 05. 06. 2020

脚本并没有所谓的‘切进去’这种操作,对于程序而言iframe就是另一个网页,如果一个网页和内嵌的iframe都在脚本的作用范围内,那么同一个脚本会在这个网页和iframe中各自被运行一遍,两个运行之间没有交集。当然,如果iframe的域名和主网页的域名一样,那么理论上确实可以通过window.frames[n]window.top互相访问,但是这并没有意义,除非你iframe的URL不在脚本的作用范围内,这种情况下你只要把iframe的地址@include或者@match进去就行了。而如果顶层网页和iframe网页的域名不一样,那它们之间是隔离的没有方法可以访问到,你只能在他们之间互相发送消息

很感谢你的解答。 现在发现新的问题了 var a=document.getElementsByTagName("input"); for (var i=0; i<a.length;i++){ if (a[i].value=="1"){ a[i].style.margin="12px"; } } 这个代码在控制台有效可为啥到了脚本里就无效了呢。

§
Posted: 07. 06. 2020
Edited: 07. 06. 2020

我好像解决了,通过setTimeout。。。。

Post reply

Sign in to post a reply.