我想在加载iframe第三方网页的时候注入一段自己的js,提供一个iframe内可以访问的方法,能实现吗?### 问题描述
提供一个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));
});
8 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.7k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
4 回答7.9k 阅读✓ 已解决
7 回答9.7k 阅读
4 回答8.7k 阅读
实现难度大,如果是跨域页面纯靠前端基本没有实现的可能
要是想在他人站内注入代码做点什么事情的话,就我经验最简便的方法就是去写个chrome插件来实现,也是我现在跨站提取数据的方法