想要在iframe中嵌入自己的js脚本,能实现吗?

我想在加载iframe第三方网页的时候注入一段自己的js,提供一个iframe内可以访问的方法,能实现吗?### 问题描述

阅读 17.8k
5 个回答

实现难度大,如果是跨域页面纯靠前端基本没有实现的可能

要是想在他人站内注入代码做点什么事情的话,就我经验最简便的方法就是去写个chrome插件来实现,也是我现在跨站提取数据的方法
图片描述

跨域了 貌似不行

提供一个iframe内可以访问的方法?

你可以操作第三方网页 那为什么不行 这不就跟你网页上引用cdn上的jq一个道理吗
你的js src访问地址给他不就得了 (ps:这个不存在跨域 不然你怎么用别人的服务器的jq)

如果你对第三方网页没有控制权是不行的

同域内做一个接口/foo 接收两个字段 一个是要转发的地址 一个是要注入的内容
iframe 永远只填这个接口
伪代码如下

<iframe src="/foo?url=http://baz.bar.com/x/y&inject=function sayHi(){console.log('hi')}" />

后台伪代码

const express = require("express");
const app = express();
app.get("/foo",async (req,res)=>{
    const {url,inject} = req.params;
    // 假设你实现了一个getHttp方法用于转发请求,下面出现那些没定义过的方法假设都实现了
    const data = await getHttp(url);
    // 解析数据并在合适的位置插入你的代码
    res.end(parseAndInSert(data,inject));
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏