热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iframe加载的html页面如何启用node渲染器?

通过main.js加载的index.html,由于有node渲染器,因此可以使用require加载模块。那么在index中通过iframe加载第二个页面要怎么才能也用node渲染器?

通过main.js加载的index.html,由于有node渲染器,因此可以使用require加载模块。
那么在index中通过iframe加载第二个页面要怎么才能也用node渲染器?
现在报错是require未定义。



main.js代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
// Modules to control application life and create native browser window

const {app, BrowserWindow, Menu, ipcMain} = require('electron')

const path = require("path")



// 保持对window对象的全局引用,如果不这么做的话,当Javascript对象被

// 垃圾回收的时候,window对象将会自动的关闭

let mainWindow



function createWindow () {

  //隐藏菜单栏

  // Menu.setApplicationMenu(null)

  // 创建浏览器窗口。

  mainWindow = new BrowserWindow({

    width: 1000,

    minWidth: 1000,

    height: 600,

    frame: false,//隐藏标题栏

    webPreferences: {

      nodeIntegration: true

    }

  })

  mainWindow.webContents.openDevTools()

  // 加载index.html文件

  mainWindow.loadFile(path.join(__dirname, '/html/index.html'))

 



  // 打开开发者工具

  // mainWindow.webContents.openDevTools()



  // 当 window 被关闭,这个事件会被触发。

  mainWindow.on('closed', function () {

    // 取消引用 window 对象,如果你的应用支持多窗口的话,

    // 通常会把多个 window 对象存放在一个数组里面,

    // 与此同时,你应该删除相应的元素。

    mainWindow = null

  })

}



// Electron 会在初始化后并准备

// 创建浏览器窗口时,调用这个函数。

// 部分 API 在 ready 事件触发后才能使用。

app.on('ready', createWindow)



// 当全部窗口关闭时退出。

app.on('window-all-closed', function () {

  // 在 macOS 上,除非用户用 Cmd + Q 确定地退出,

  // 否则绝大部分应用及其菜单栏会保持激活。

  if (process.platform !== 'darwin') app.quit()

})



app.on('activate', function () {

  // 在macOS上,当单击dock图标并且没有其他窗口打开时,

  // 通常在应用程序中重新创建一个窗口。

  if (mainWindow === null) createWindow()

})



// 在这个文件中,你可以续写应用剩下主进程代码。

// 也可以拆分成几个文件,然后用 require 导入。



//关闭,最小化,最大化

ipcMain.on('window-min', function() {

  mainWindow.minimize();

})

ipcMain.on('window-close',function(){

  mainWindow.close();

})

ipcMain.on('window-max',function(){

  if(mainWindow.isMaximized()){

      mainWindow.restore();

  }else{

      mainWindow.maximize();

  }

})

ipcMain.on('window-status',function(event ,arg){

  if(mainWindow.isMaximized()){

      event.returnValue = false;

  }else{

      event.returnValue = true;

  }

})



   



推荐阅读
  • HashMap的相关问题及其底层数据结构和操作流程
    本文介绍了关于HashMap的相关问题,包括其底层数据结构、JDK1.7和JDK1.8的差异、红黑树的使用、扩容和树化的条件、退化为链表的情况、索引的计算方法、hashcode和hash()方法的作用、数组容量的选择、Put方法的流程以及并发问题下的操作。文章还提到了扩容死链和数据错乱的问题,并探讨了key的设计要求。对于对Java面试中的HashMap问题感兴趣的读者,本文将为您提供一些有用的技术和经验。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • LeetCode笔记:剑指Offer 41. 数据流中的中位数(Java、堆、优先队列、知识点)
    本文介绍了LeetCode剑指Offer 41题的解题思路和代码实现,主要涉及了Java中的优先队列和堆排序的知识点。优先队列是Queue接口的实现,可以对其中的元素进行排序,采用小顶堆的方式进行排序。本文还介绍了Java中queue的offer、poll、add、remove、element、peek等方法的区别和用法。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
author-avatar
嘤_嘤_嘤
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有