I can understand that practice. Most intranets that I have I have worked
for tend to adopt IE only policies. I can see how it can save time for
developers to not have to test for multiple browser environments, but
innately I wish I could FF for my day to day work.
Thanks for the code snippet. I will have to test it out and have a go at
it.
Teddy
On 11/17/06, Fennell, Mark P. <[EMAIL PROTECTED]> wrote:
IE only. It's for our intranet and every PC in the organization is pushed
via scriptlogic with a very specific IE flavor so I confess to abusing that
luxury.
mf
-----Original Message-----
*From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of *Teddy Payne
*Sent:* Friday, November 17, 2006 4:01 PM
*To:* [email protected]
*Subject:* Re: [ACFUG Discuss] Spell Checker for FCKeditor
Mark,
What test considerations have you made for this tag? IE? FF? Opera?
Teddy
On 11/17/06, Fennell, Mark P. < [EMAIL PROTECTED]> wrote:
>
> Awhile back I posted a simple CFMX on Linux spellchecker.
> I'm nearing completion on the custom tag and thought that this might be
> an appropriate dumping point.
> The custom tag is ~120 lines with 50 dedicated to comments. There are
> other files required for spelling suggestions (using google mini) and
> datarequestor.js for XMLrequests and serialization. It's not pretty and
> it has low self-esteem. So, please criticize it kindly. :) Anyways, here
> goes.
> mf
>
>
> <!---
> Custom Tag
> Name : spell
> Location: /CustomTags/spell.cfm
> Created: 17 November 2006
> Creator: Mark Fennell
> Purpose: SpellChecking form fields in CFMX on Linux
> ToDo: Currently only supports ONE field per page; attributes
> for location of dependencies;
>
> Attributes:
> stage required stage=1 draws a contenteditable div that
> feeds your form field
> stage=2 draws the spelling form and the
> targeted iframe for subversive stuff
> stage=3 draws the submit button w/ the
> js needed to stuff your form
> field with the corrected
> spelling
> fieldName optional Required if stage=1 this will the name
> of the form field that is submitted to your action page
> formName optional Required if stage=1 this is the name of
> the form that the form field
> belongs to and that will ultimately be
> submitted
> buttonText optional Required if stage=3 this is the name of
> the form submit button
>
> Directions for use:
> This tag MUST be called three times; once as stage=1, once as
> stage=2 and as stage=3.
> They do NOT have to be called in order.
>
> Stage=1 <cf_spell stage="1" formName="myForm">
> Stage=2 <cf_spell stage="2">
> Stage=3 <cf_spell stage="3" formName="myForm"
> buttonText="submit" fieldName="comments">
>
> Stage 1 and 3 will plop the text box and button where they are
> called so location is important to you.
> Stage 2 is all hidden so it's location doesn't matter as much.
>
> Sample Calling Document:
> <cfform action="demo.cfm" method="POST" name="myForm"
> id="myForm">
> <cf_spell stage="1" formName="myForm" fieldname="comments">
> <cf_spell stage="3" formName="myForm" buttonText="submit"
> fieldname="comments">
> </cfform>
> <cf_spell stage="2">
>
> This tag relies on bunches of other stuff gian.cfm and
> datarequestor.js and sample.txt.
> datarequestor.js is from http://mikewest.org/ takes care of some
> XMLHTTPRequest and Serialization stuff
> gian.cfm is the google mini-based spelling suggester
> sample.txt is where we store the text being checked.
>
> Sample gian.cfm:
> <cfhttp
url="http://google-mini/search?site=IAN&client=IAN&output=xml_no_dtd&ie=&oe=&lr=&skin=&q=#x#
>
>
<http://google-mini/search?site=IAN&client=IAN&output=xml_no_dtd&ie=&oe=&lr=&skin=&q=#x%23>"
> method="GET" resolveurl="yes" multipart="yes">
> <cfoutput>
> <cfset res="#XMLParse(cfhttp.filecontent)#">
> <cftry>
> <cfset ret = "#toString(
> res.GSP.Spelling.Suggestion.XmlAttributes.q)#">
> <cfcatch><cfset ret="No suggestions available."></cfcatch>
> </cftry>
> #ret#
> </cfoutput>
>
> --->
>
>
> <cfif isDefined("attributes.stage") and attributes.stage eq "2">
> <iframe name="spellFrame" id="spellFrame" width="0" height="0"
> marginwidth="0" marginheight="0" scrolling="no" frameborder="0"></iframe>
> <form action="/ian/CustomTags/spell.cfm" name="spellForm"
> id="spellForm" target="spellFrame"><input type="hidden" name="spell"
> value=""></form>
> <cfelseif isDefined("attributes.stage") and attributes.stage eq "3">
> <cfoutput>
> <input class="butt" type="button"
> value="#attributes.buttonText#"
>
>
onClick="document.#attributes.formName#.#attributes.fieldName#.value=
> document.getElementById('bigText').innerHTML;
> document.#attributes.formName#.submit();">
> </cfoutput>
> <cfelseif isDefined("attributes.stage") and attributes.stage eq "1">
> <cfoutput><input type="hidden" name="#attributes.fieldName#"
> value=""></cfoutput>
> <div id="bigText" contenteditable="true" style="border: 1px
> solid silver; height: 250px; width: 420px;">Type your text here.</div>
> <input type="button" name="spellcheck" value="spellcheck"
> onClick="init_check()">
>
> <script language="JavaScript"
> src="/ian/js/datarequestor.js"></script>
> <style type="text/css">
> .wrong { color: red; text-decoration: underline; cursor:
> pointer;}
> </style>
>
> <script language="JavaScript" type="text/javascript">
> var req = new DataRequestor();
> function init_check() {
> var myStr= document.getElementById('bigText').innerHTML;
> document.spellForm.spell.value=myStr;
> document.spellForm.submit();
> alert("Spell Check Complete\r\nClick RED words for
> suggestions.\r\nNot all items have suggestions.");
> }
>
> function check(x) {
> req.getURL("/ian/CustomTags/gian.cfm?x="+x);
> req.onload = function (d) {
> changeTo(x,d);
> }
> }
> function changeTo(x,d)
> {
> if(d=="No suggestions available. ")
> { alert(d); }
> else
> { var t = confirm("Change "+x+" to "+d+"?"); }
> if(d!= "No suggestions available. " && t)
> {
> var c = new RegExp("<a[^>]+>"+x+"</a>","gi");
> document.getElementById('bigText').innerHTML=
> document.getElementById('bigText').innerHTML.replace(c,d);
> }
> else if(d!="No suggestions available. ") { alert("No change
> made."); }
> }
> </script>
> <cfelseif isDefined("spell")>
> <cftry>
> <cffile action="DELETE"
> file="/www/html/ian/mf/spellCheck/sample.txt">
> <cfcatch></cfcatch>
> </cftry>
> <cffile action="WRITE"
> file="/www/html/ian/mf/spellCheck/sample.txt"
> output="#REreplace(spell,'<[^>]*>','','ALL')#" attributes="Normal"
> mode="777" addnewline="Yes">
> <cffile action="READ"
> file="/www/html/ian/mf/spellCheck/sample.txt" variable="v_txt">
> <cfexecute name="/usr/bin/spell"
> arguments="/www/html/ian/mf/spellCheck/sample.txt" variable="v_spell"
> timeOut="30"></cfexecute>
> <cfoutput>
> <cfloop index="ret" list="#v_spell#" delimiters="#chr(10)#">
> <cfif ret neq "">
> <cfset v_txt=replace(v_txt," "&ret," <a class=wrong
> onclick=check('#ret#');>#ret#</a>",'ALL')>
> </cfif>
> </cfloop>
> <script>
> parent.document.getElementById('bigText').innerHTML=
> '#replace(jsstringformat(v_txt),'\r\n','<P>','ALL')#' ;
> </script>
> #jsstringformat(spell)#
> </cfoutput>
> </cfif>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] ]On Behalf Of
> [EMAIL PROTECTED]
> Sent: Friday, November 17, 2006 1:52 PM
> To: [email protected]
> Subject: [ACFUG Discuss] Spell Checker for FCKeditor
>
>
> What are people using as a spell checker in FCKeditor? I need a server
> side solution, and it seems FCKeditor prefers SpellerPages.
> We are running CF on Windows 2003 with IIS 6.
> If I were to use SpellerPages' aspell, do I need to install PHP on my
> ColdFusion sever?
>
>
> Thanks!
>
> ed
> ----------------------------------------------------------------------
> Ed Szwedo
>
> Web Development Team Lead
> CSC
> E-mail: [EMAIL PROTECTED]
> 919-541-3955 (Voice)
> 919-541-3719 (Fax)
>
>
>
> -------------------------------------------------------------
> To unsubscribe from this list, manage your profile @
> http://www.acfug.org?fa=login.edituserform
>
> For more info, see http://www.acfug.org/mailinglists
> Archive @ http://www.mail-archive.com/discussion%40acfug.org/
> List hosted by http://www.fusionlink.com
> -------------------------------------------------------------
>
>
>
>
>
> -------------------------------------------------------------
> To unsubscribe from this list, manage your profile @
> http://www.acfug.org?falogin.edituserform
>
> For more info, see http://www.acfug.org/mailinglists
> Archive @ http://www.mail-archive.com/discussion%40acfug.org/
> List hosted by http://www.fusionlink.com
> -------------------------------------------------------------
>
>
>
>
--
<cf_payne />
Adobe Certified ColdFusion MX 7 Developer
Atlanta CFUG (ACFUG): http://www.acfug.org
-------------------------------------------------------------
To unsubscribe from this list, manage your profile @
http://www.acfug.org?fa=login.edituserform
For more info, see http://www.acfug.org/mailinglists
Archive @ http://www.mail-archive.com/discussion%40acfug.org/
List hosted by FusionLink <http://www.fusionlink.com>
-------------------------------------------------------------
--
<cf_payne />
Adobe Certified ColdFusion MX 7 Developer
Atlanta CFUG (ACFUG): http://www.acfug.org
-------------------------------------------------------------
To unsubscribe from this list, manage your profile @
http://www.acfug.org?fa=login.edituserform
For more info, see http://www.acfug.org/mailinglists
Archive @ http://www.mail-archive.com/discussion%40acfug.org/
List hosted by http://www.fusionlink.com
-------------------------------------------------------------