草庐IT

php - TinyMCE:打包所有文件而不是动态加载它们......可能吗?

coder 2024-04-05 原文

我正在尝试让 TinyMCE 工作。我已经使用包含 tiny_mce.js 然后使用 tinymce.init(...) 的常规方法尝试过它并且它有效。然后我尝试了 tiny_mce.gzip.js + php compressor 并且它可以工作但是它真的很慢。

现在我已经将我的 CSS 和 JS 文件打包成一个,并将所有文件连接在一起。对于 Javascript,它们也被缩小了。

在这两种情况下,它们都使用其中一个文件的时间戳进行版本控制,因此我的 URL 如下:

/script/script.1233454569.js

它重定向到一个 PHP 文件,该文件要么提供缓存版本,要么构建缓存版本(如果需要)并提供它。它添加了过期 header 并进行了 gzip 压缩,基本上运行良好。

我想将微型 mce 安装到此机制中,但事实证明这很痛苦。顺序似乎很重要。目前我有:

  • tiny_mce.js
  • myscript.js
  • default_editor.js(来自简单主题)
  • en.js(同上)

但它提出了“你是未定义的”,我在谷歌上找不到合适的答案。这真的很烦人。有没有人有这方面的经验?

有没有其他编辑器更适合像我上面描述的那样打包,而不是将他们自己的方案强加给你(这让我无休止地烦恼)

最佳答案

我尝试做完全相同的事情,但花了太多时间尝试。最后,我决定使用 TinyMCE 提供的 GZip 压缩器,并专注于组合我需要的 CSS 文件和图像。问题是 TinyMCE 很大,它动态加载它需要的文件,并且它不使用现有的 JavaScript 库,所以如果您已经在使用任何类型的库,它最终会复制大量相同的代码。 FCKEditor是我认为具有相同功能和浏览器兼容性的唯一其他编辑器,但就集成到我的缓存方案(听起来与您的相似)而言,它看起来并没有变得更容易,而且我认为许可这对我来说是一个非选择。你可以看一个list这里有很多编辑,但我认为那两个是该列表中最好的。最后,我决定使用 TinyMCE,并将为 MooTools 制作一个所见即所得的编辑器添加到我的待办事项列表中,因为这是我最常使用的 JavaScript 框架。

如果您要破解它,我建议找出您的 TinyMCE 特定实现所需的每个脚本,按顺序组合它们,然后隔离并注释掉加载每个文件的代码。如果你够勇敢,你可以试试packing组合文件也是如此。如果您真的让它工作了,我很想知道。

关于php - TinyMCE:打包所有文件而不是动态加载它们......可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/684725/

有关php - TinyMCE:打包所有文件而不是动态加载它们......可能吗?的更多相关文章

  1. ruby - 如何以所有可能的方式将字符串拆分为长度最多为 3 的连续子字符串? - 2

    我试图获取一个长度在1到10之间的字符串,并输出将字符串分解为大小为1、2或3的连续子字符串的所有可能方式。例如:输入:123456将整数分割成单个字符,然后继续查找组合。该代码将返回以下所有数组。[1,2,3,4,5,6][12,3,4,5,6][1,23,4,5,6][1,2,34,5,6][1,2,3,45,6][1,2,3,4,56][12,34,5,6][12,3,45,6][12,3,4,56][1,23,45,6][1,2,34,56][1,23,4,56][12,34,56][123,4,5,6][1,234,5,6][1,2,345,6][1,2,3,456][123

  2. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  3. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  4. ruby-on-rails - 跳过状态机方法的所有验证 - 2

    当我的预订模型通过rake任务在状态机上转换时,我试图找出如何跳过对ActiveRecord对象的特定实例的验证。我想在reservation.close时跳过所有验证!叫做。希望调用reservation.close!(:validate=>false)之类的东西。仅供引用,我们正在使用https://github.com/pluginaweek/state_machine用于状态机。这是我的预订模型的示例。classReservation["requested","negotiating","approved"])}state_machine:initial=>'requested

  5. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  6. ruby - Nokogiri 剥离所有属性 - 2

    我有这个html标记:我想得到这个:我如何使用Nokogiri做到这一点? 最佳答案 require'nokogiri'doc=Nokogiri::HTML('')您可以通过xpath删除所有属性:doc.xpath('//@*').remove或者,如果您需要做一些更复杂的事情,有时使用以下方法遍历所有元素会更容易:doc.traversedo|node|node.keys.eachdo|attribute|node.deleteattributeendend 关于ruby-Nokog

  7. ruby - 获取模块中定义的所有常量的值 - 2

    我想获取模块中定义的所有常量的值:moduleLettersA='apple'.freezeB='boy'.freezeendconstants给了我常量的名字:Letters.constants(false)#=>[:A,:B]如何获取它们的值的数组,即["apple","boy"]? 最佳答案 为了做到这一点,请使用mapLetters.constants(false).map&Letters.method(:const_get)这将返回["a","b"]第二种方式:Letters.constants(false).map{|c

  8. ruby-on-rails - 使用 config.threadsafe 时从 lib/加载模块/类的正确方法是什么!选项? - 2

    我一直致力于让我们的Rails2.3.8应用程序在JRuby下正确运行。一切正常,直到我启用config.threadsafe!以实现JRuby提供的并发性。这导致lib/中的模块和类不再自动加载。使用config.threadsafe!启用:$rubyscript/runner-eproduction'pSim::Sim200Provisioner'/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in`co

  9. 【Java 面试合集】HashMap中为什么引入红黑树,而不是AVL树呢 - 2

    HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候

  10. ruby-on-rails - 从应用程序中自定义文件夹内的命名空间自动加载 - 2

    我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty

随机推荐