PDA

View Full Version : New JS WYSIWYG changes in vB 3.5?


tamarian
06-13-2005, 11:21 PM
I'm upgrading the spell checkers (PungoSpell and PHPSpell) to release for 3.5, and all is done, except for the WYSIWYG mode.

The problem is that once the spelling is corrected in the spellcheck window, copying it into htmlbox/htmlwindow iframe in the vbform no longer works. Here's how the results are copied:

if (window.opener.document.vbform.toolbar.value == 2)
{
if (ie) { window.opener.frames["htmlwindow"].innerHTML = mispstr; }
else if (ns) { window.opener.frames["htmlbox"].body.innerHTML = mispstr; }
}

window.opener.document.forms[spell_formname][spell_fieldname].value = mispstr;

window.close();
return true;

So I can see the correct spelling in the spelling window, but once it's done, it will not update the vbform text area. After some testing, I found out that if I refresh the page, the correctly spelled WYSIWYG text will then show up. (both IE and NS have this problem)

But I'd rather not make it referesh :) Any JS gurus here can tell me what caused this new change in vB 3.5. I looked at the code, and can't see why this won't work.

The above code is from PungoSpell: https://vborg.vbsupport.ru/showthread.php?s=&threadid=65737

tamarian
06-17-2005, 09:51 PM
The code actually works, it just wasn't executed.

For some reason it can no longer read the form field, without it being passed explicitly. :)

Souli
07-28-2005, 06:54 PM
Hello Tamarian,
i have create a bbcode Table Hack and before i will share it here i must figure out the same problem.

In vb3.07 it works all correctly - now in vb3.5 i don?t know the correct js-code to tranfer it to the message Area in wysiwyg editor.

here is my code from 3.07 - have you any ideas about the correct code for vb3.5 ?

var bname = navigator.appName;
if (bname == "Microsoft Internet Explorer")
{
var newins = opener.document.frames["htmlwindow"].innerHTML + insert;
opener.document.frames["htmlwindow"].innerHTML = newins;
opener.document.frames["htmlwindow"].focus();
self.close();
}
else
{
var newins = opener.htmlbox.body.innerHTML + insert;
opener.htmlbox.body.innerHTML = newins;
opener.htmlbox.body.focus();
self.close();
}
:ermm:

tamarian
07-28-2005, 07:05 PM
I forgot that I started this thread :)

Yes, here's how I did it for the vB Spell, this is just a portion, you can download the entire code from the vB Spell hack

if (window.opener.document.getElementById(spell_field name + '_iframe') == null)
{
if (window.opener.document.getElementById(spell_field name + '_textarea').innerHTML == '')
{
window.opener.document.forms[spell_formname]["message"].value = mispstr;
}
else
{
var oHtml = window.opener.document.getElementById(spell_fieldn ame + '_textarea');
oHtml.innerHTML = mispstr;
}
}
else
{
var iframe = window.opener.document.getElementById(spell_fieldn ame + '_iframe');
var iframedoc = iframe.contentWindow.document;
var oHtml = iframedoc.body;

oHtml.innerHTML = mispstr;
}

Souli
07-30-2005, 05:39 PM
Thank you very much i will try it for my table plugin

gijski
08-02-2005, 04:57 PM
any news yet? (is there a table-plugin for 3.5?)
would be great. I am looking forward to this valuable addition!

Souli
08-02-2005, 05:31 PM
I need more time because i am in vacation - the hack is done without the wysiwyg code.

I use a small javascript code from a free hack i have found on a wbb board - so before i can share it with all vbulletin members i must ask the original coder.

The Idea of the hack is a small new script - you can add the table options and the data - with a click on rdy all table options and data are send to the editor - i think i will create a first betaversion so someone can help me to include the correct code for the wysiwyg editor.

gijski
08-13-2005, 07:23 AM
would be great!