tinyMCE在IE10和Chrome中找不到正确的插件路径

一对一

我花了整整一天的时间来解决这个问题,我将其发布以供将来参考。

我正在建立一个新闻发布网站(由www.phpenter.net提供支持),该网站使用tinyMCE编辑器v 3.X,我进行了对tinyMCE v4.0.26的升级,更新了一些初始化参数,一切都很好。我使用Opera进行开发,所以没有立即发现问题。

当我在IE10和Chrome中测试网站时,无法加载编辑器,但出现错误:

Object doesn't support this action 
Line 27037    self.theme = new Theme(self, ThemeManager.urls[settings.theme]);

我还看到所有的tinyMCE资源(JS,CSS)都没有加载:

HTTP/1.1 404 Not Found

路径错误:

http://mysite//plugins/visualblocks/plugin.min.js

代替

http://mysite/scripts/tiny_mce/plugins/visualblocks/plugin.min.js

所有资源都是这种情况

这仅发生在Chrome和IE中,Opera正确加载了所有内容。

一对一

经过一些调试后,我在tinymce.js中找到了相关代码:

29191           // Get base where the tinymce script is located                         
29192                           var scripts = document.getElementsByTagName('script');          
29193                           for (var i = 0; i < scripts.length; i++) {          
29194                               src = scripts[i].src;       
29195                                       
29196                               // Script types supported:      
29197                               // tinymce.js tinymce.min.js tinymce.dev.js     
29198                               // tinymce.jquery.js tinymce.jquery.min.js tinymce.jquery.dev.js        
29199                               // tinymce.full.js tinymce.full.min.js tinymce.full.dev.js      
29200                               if (/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(src)) {      
29201                                   if (src.indexOf('.min') != -1) {    
29202                                       suffix = '.min';
29203                                   }   
29204                                       
29205                                   baseURL = src.substring(0, src.lastIndexOf('/'));   
29206                                   break;  
29207                               }       
29208                           }           
29209                                       
29210                           // We didn't find any baseURL by looking at the script elements         
29211                           // Try to use the document.currentScript as a fallback          
29212                           if (!baseURL && document.currentScript) {           
29213                               src = document.currentScript.src;       
29214                                       
29215                               if (src.indexOf('.min') != -1) {        
29216                                   suffix = '.min';    
29217                               }       
29218                                       
29219                               baseURL = src.substring(0, src.lastIndexOf('/'));       
29220                           }           

在29200行上,tinymce有一个正则表达式匹配项,但是这在我的实现中会失败,因为脚本已从tinymce.js重命名为tiny_mce.js。

如果失败,脚本将尝试查找document.currentScriptOpera中的参数,而不是IE10和Chrome中的参数。

因此,要解决此问题,我们可以将tiny_mce.js重命名为tinymce.js并编辑对其的所有应用程序引用(原始phpenter.net实现正在使用tiny_mce),或者编辑正则表达式以查找tiny_mce而不是tinymce

另外,我们可以document.currentScript在IE和Chrome中添加对等效DOM属性的检查

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

tinyMCE在IE10和Chrome中找不到正确的插件路径

来自分类Dev

TinyMCE图像上传在IE9和IE10中不起作用

来自分类Dev

标签:hover属性触发IE10和IE11中的不正确元素

来自分类Dev

kubernetes在ubuntu中找不到正确的路径

来自分类Dev

IE10中背景渐变无法正确显示

来自分类Dev

网站在Chrome和Opera中显示为空白,但在IE10中显示为空白

来自分类Dev

在IE10中录制和上传视频

来自分类Dev

IE10中的Flexbox

来自分类Dev

Java找不到正确的路径

来自分类Dev

Java找不到正确的路径

来自分类Dev

Dijkstra找不到正确的路径

来自分类Dev

IE10无法正确解析JSON

来自分类Dev

IE11插件下载到我的C驱动器中,但我找不到文件(Win 10)

来自分类Dev

在IE10中使用jQuery floatThead插件(1.2.10)的布局问题

来自分类Dev

有时在IE10中初始化Google Earth插件失败

来自分类Dev

有时在IE10中初始化Google Earth插件失败

来自分类Dev

如果以管理员身份运行IE,则无法在IE9 / IE10中加载Firebreath插件

来自分类Dev

ie10和flexboxes?(恶梦)

来自分类Dev

ie10和flexboxes?(恶梦)

来自分类Dev

div显示:初始设置无法按ie10和chrome 29的要求工作

来自分类Dev

Google Chrome和Windows8 / IE10上的Google Map Touch事件

来自分类Dev

在IE11和IE10中与flexbox垂直对齐

来自分类Dev

Selenium WebDriver:IE11和IE10中的dragAndDrop方法失败

来自分类Dev

YouTube API .loadVideoById()在IE9和IE10中失败

来自分类Dev

Selenium WebDriver:IE11和IE10中的dragAndDrop方法失败

来自分类Dev

removeEventListener在IE10中不起作用,在Chrome中工作

来自分类Dev

CSS在Chrome / Firefox中不起作用(渲染)但在IE10 / Edge中起作用

来自分类Dev

IE10中的flex-wrap的正确属性是什么?

来自分类Dev

在IE10上运行的ASP Classic应用程序中无法正确发送字符

Related 相关文章

  1. 1

    tinyMCE在IE10和Chrome中找不到正确的插件路径

  2. 2

    TinyMCE图像上传在IE9和IE10中不起作用

  3. 3

    标签:hover属性触发IE10和IE11中的不正确元素

  4. 4

    kubernetes在ubuntu中找不到正确的路径

  5. 5

    IE10中背景渐变无法正确显示

  6. 6

    网站在Chrome和Opera中显示为空白,但在IE10中显示为空白

  7. 7

    在IE10中录制和上传视频

  8. 8

    IE10中的Flexbox

  9. 9

    Java找不到正确的路径

  10. 10

    Java找不到正确的路径

  11. 11

    Dijkstra找不到正确的路径

  12. 12

    IE10无法正确解析JSON

  13. 13

    IE11插件下载到我的C驱动器中,但我找不到文件(Win 10)

  14. 14

    在IE10中使用jQuery floatThead插件(1.2.10)的布局问题

  15. 15

    有时在IE10中初始化Google Earth插件失败

  16. 16

    有时在IE10中初始化Google Earth插件失败

  17. 17

    如果以管理员身份运行IE,则无法在IE9 / IE10中加载Firebreath插件

  18. 18

    ie10和flexboxes?(恶梦)

  19. 19

    ie10和flexboxes?(恶梦)

  20. 20

    div显示:初始设置无法按ie10和chrome 29的要求工作

  21. 21

    Google Chrome和Windows8 / IE10上的Google Map Touch事件

  22. 22

    在IE11和IE10中与flexbox垂直对齐

  23. 23

    Selenium WebDriver:IE11和IE10中的dragAndDrop方法失败

  24. 24

    YouTube API .loadVideoById()在IE9和IE10中失败

  25. 25

    Selenium WebDriver:IE11和IE10中的dragAndDrop方法失败

  26. 26

    removeEventListener在IE10中不起作用,在Chrome中工作

  27. 27

    CSS在Chrome / Firefox中不起作用(渲染)但在IE10 / Edge中起作用

  28. 28

    IE10中的flex-wrap的正确属性是什么?

  29. 29

    在IE10上运行的ASP Classic应用程序中无法正确发送字符

热门标签

归档