W
William Starr Moake
Another problem with absolute paths in the WYSIWYG editor I'm putting
together.
The function to toggle between WYSIWYG and HTML modes works except for
one glitch. If you use a relative path for a link, like <a
href="download.htm">Click Here</a>, the editor returns an absolute
path the second time you toggle HTML mode: <a
href="C:\Windows\Desktop\Editor\download.htm" and even adds file:///
on the third try. This path must be manually deleted before uploading
the page to your web host, which partially defeats the purpose of a
WYSIWYG editor.
I thought I had the problem fixed when I found a hack on a javascript
forum. The poster noticed the relative path was retained if he
manually selected the source code in HTML mode, copied it and then
pasted it. So he came up with a hack to make these operations
automatic.
He said he placed this hack in the toggle script "just before it
switches back to WYSIWYG mode." I have tried inserting it between
every single line of the toggle script with no luck. First I got error
message "object expected" until I embedded it as a second function
called relpath(). Then, as I moved the hack from line to line in the
toggle script, either the editor refused to return to WYSIWYG mode or
it copied the source code into the WYSIWYG mode. I know this works if
you manually select all-copy-paste because I've tried it.
Can anyone tell me where in blazes the hack fits into the toggle
script? The hack creator has apparently abandoned the forum where he
made the original posting.
THE HACK:
function relpath() {
cmdExec('selectall');cmdExec('copy');cmdExec('past
e');
sTmp=iView.document.body.innerText;
iView.document.body.innerHTML=sTmp;}
THE TOGGLE FUNCTION:
function doToggleView()
{
if(viewMode == 1)
{
iHTML = iView.document.body.innerHTML;
iView.document.body.innerText = iHTML;
viewMode = 2; // Source Code
}
else
{
iText = iView.document.body.innerText;
iView.document.body.innerHTML = iText;
viewMode = 1; // WYSIWYG
}
}
together.
The function to toggle between WYSIWYG and HTML modes works except for
one glitch. If you use a relative path for a link, like <a
href="download.htm">Click Here</a>, the editor returns an absolute
path the second time you toggle HTML mode: <a
href="C:\Windows\Desktop\Editor\download.htm" and even adds file:///
on the third try. This path must be manually deleted before uploading
the page to your web host, which partially defeats the purpose of a
WYSIWYG editor.
I thought I had the problem fixed when I found a hack on a javascript
forum. The poster noticed the relative path was retained if he
manually selected the source code in HTML mode, copied it and then
pasted it. So he came up with a hack to make these operations
automatic.
He said he placed this hack in the toggle script "just before it
switches back to WYSIWYG mode." I have tried inserting it between
every single line of the toggle script with no luck. First I got error
message "object expected" until I embedded it as a second function
called relpath(). Then, as I moved the hack from line to line in the
toggle script, either the editor refused to return to WYSIWYG mode or
it copied the source code into the WYSIWYG mode. I know this works if
you manually select all-copy-paste because I've tried it.
Can anyone tell me where in blazes the hack fits into the toggle
script? The hack creator has apparently abandoned the forum where he
made the original posting.
THE HACK:
function relpath() {
cmdExec('selectall');cmdExec('copy');cmdExec('past
e');
sTmp=iView.document.body.innerText;
iView.document.body.innerHTML=sTmp;}
THE TOGGLE FUNCTION:
function doToggleView()
{
if(viewMode == 1)
{
iHTML = iView.document.body.innerHTML;
iView.document.body.innerText = iHTML;
viewMode = 2; // Source Code
}
else
{
iText = iView.document.body.innerText;
iView.document.body.innerHTML = iText;
viewMode = 1; // WYSIWYG
}
}