Javascript 在电子内部嵌入外部连接

Javascript 在电子内部嵌入外部连接,javascript,electron,instagram-api,Javascript,Electron,Instagram Api,我已经准备好了一系列instagram媒体数据,以供嵌入。在每个html的末尾都有一个脚本 默认情况下,electron将此链接指向文件://协议。在src中添加http://,将正确返回js文件 所以link工作正常 除了解析数据和重写链接之外,我如何解决这个问题?您面临的问题是,/是一个协议相关URL,它将使用请求它的文件的任何协议。你可以阅读更多关于这方面的内容 覆盖此默认行为的最佳方法是解析数据并使用类似regex查询的内容重写链接 或者您可以尝试拦截文件协议,验证url是否为您想要拦截

我已经准备好了一系列instagram媒体数据,以供嵌入。在每个html的末尾都有一个脚本

默认情况下,electron将此链接指向
文件://
协议。在src中添加
http://
,将正确返回js文件

所以link
工作正常


除了解析数据和重写链接之外,我如何解决这个问题?

您面临的问题是,
/
是一个协议相关URL,它将使用请求它的文件的任何协议。你可以阅读更多关于这方面的内容

覆盖此默认行为的最佳方法是解析数据并使用类似regex查询的内容重写链接

或者您可以尝试拦截文件协议,验证url是否为您想要拦截的url,然后重新格式化url,您可以了解如何执行此操作。下面的示例不包括您希望拦截的路径验证

const {app, protocol} = require('electron')
const path = require('path')

app.on('ready', () => {
  protocol.registerFileProtocol('file', (request, callback) => {
    const url = request.url.substr(7)
    callback({path: path.normalize(`http://${__dirname}/${url}`)})
  }, (error) => {
    if (error) console.error('Failed to register protocol')
  })
})

“添加
http://
正确返回js文件。”为什么不使用
http:
协议?@guest271314,因为我正在构建一个小型桌面应用程序。是否可以使用http协议调用win.loadURL内的local index.html?尚未尝试electron,但由于electron基于Chromium源代码,您应该能够使用
--允许--从文件访问文件
标志或
--禁用web安全性
启动,我想您是对的。实际上,我只是解析了api响应,然后继续。感谢you@AlexeyAvdeyev没问题,我已经把你的问题投给别人看了