Javascript 加载页面中的所见即所得编辑器
我面临以下问题: 我有一个index.html页面,其中有一个div#content。在这个div中,我通过js加载页面Javascript 加载页面中的所见即所得编辑器,javascript,jquery,ajax,wysiwyg,Javascript,Jquery,Ajax,Wysiwyg,我面临以下问题: 我有一个index.html页面,其中有一个div#content。在这个div中,我通过js加载页面 //JavaScript Document $(document).ready(function() { $('#loader').load('pages/loader.php').hide(); $('#content_container').load('pages/dashboard.php'); //$('.dashboard_quick_new
//JavaScript Document
$(document).ready(function() {
$('#loader').load('pages/loader.php').hide();
$('#content_container').load('pages/dashboard.php');
//$('.dashboard_quick_news').load('pages/quicknews.php');
});
$('.content_link').click(function(){
var href = $(this).attr('href');
$('#loader').show();
$('#content_container').hide().load(href).delay(1800).fadeIn('normal');
$('#loader').load('pages/loader.php').delay(1000).fadeOut();
return false;
});
现在,这一切都很好,加载的页面得到了应有的显示。
虽然在我加载的一个页面中,我包含了一个所见即所得编辑器(Nicedit)
onDomLoaded(函数(){nicEditors.allTextAreas()});
当我通过索引(使用.load函数)加载此页面时,所见即所得编辑器不会显示(也使用TinyMCE测试)。当我单独(通过URL)访问页面时,wysiwyg编辑器会显示完美,因此路径设置正确。还使用我的索引中包含的wysiwyg js进行了测试
为了测试.load页面是否不包含javascript,我使用wysiwyg编辑器在页面上插入了一个警报。
虽然wysiwyg编辑器不显示此警报,但它确实显示
有人知道如何解决这个问题吗
谢谢allready您是否检查了生成的DOM并查看编辑器标记是否已附加到您的页面 大多数(所有?)所见即所得编辑器都使用iframe。我不确定他们是如何决定它的大小的,但我想既然你发送了一个textarea作为参数,他们就会使用这个textarea的尺寸。因此,请确保textarea的大小足够大,并检查注入的iframe是否足够大 编辑: 当编辑器启动时,如果不知道文本区域在哪里,就很难找出问题所在(请提供更多代码?) 我认为问题出在bkLib.ondomload中,它在加载DOM的同时运行。然而,jQuery的ready()做(几乎)相同的事情。因此,当调用load()获取页面内容时,DOM已经加载,因此bkLib.ondomload将不会运行 您需要做的是在加载请求的.php页面后实例化编辑器:
$('#content_container').load('pageWithEditorScript.php', function() {
nicEditors.allTextAreas();
});
我在.load页面中看不到javascript文件。虽然由于警报确实有效,我认为所有的Javascript都可以工作。而且这个文件确实有效。或者,您的意思是如何检查生成的DOM?Nicedit从元素中获取大小。Textarea的样式在我的CSS中。所以文本区域足够长。这也显示在完全工作的独立版本中。即使我只是从de wysiwyg编辑器加载演示页面,编辑器也不会显示。谢谢你为heling准备好了!此$('content_container').load('pageWithEditorScript.php',function(){nicEditors.allTextAreas();});都修好了。非常感谢!
$('#content_container').load('pageWithEditorScript.php', function() {
nicEditors.allTextAreas();
});