Announcement

Do not use the forums to submit bug reports, feature requests or patches, submit a New Ticket instead.

#1 2010-07-13 10:38:21

dr_robert
Xinha Community Member
Registered: 2010-07-12
Posts: 12

Loading Xinha Inside IFRAME Doesn't Work All The Time

Hello Xinha Community,

So far I love this script (it’s amazing!), but I’m having some difficulty that I’m hoping someone can help with.

I am using the Xinha editor in my asp.net application.
The issue is that I am calling the Xinha editor from within an IFRAME and it doesn’t seem to work all the time.

I have tried to include as many details as possible below.

In my application, I have a button labeled "Add Question" on the page Editor.aspx.
When this button is clicked, I create a new DIV that has an IFRAME inside it.
That IFRAME loads the page AddQuestion.aspx.

Within the HEAD portion of AddQuestion.aspx, I have the following code:

<HEAD>
<script type="text/javascript">
    _editor_url  = "../xinha/"  // (preferably absolute) URL (including trailing slash) where Xinha is installed
    _editor_lang = "en";      // And the language we need to use in the editor.
    _editor_skin = "silva";   // If you want use a skin, add the name (of the folder) here
  </script>
  <script type="text/javascript" src="../Xinha/XinhaCore.js"></script>
  <script type="text/javascript" src="../xinha/my_config.js"></script>
</HEAD>

When I load the text area on that page (AddQuestion.aspx), I use the following code:

<textarea id="txtQuestion" name="txtQuestion" rows="10" cols="50" style="width: 100%"></textarea>

Note: In my Config.js file (which I’ve included below), I have successfully passed the ID of text editor in the STEP 1, as per the instructions.

I think everything has been setup correctly, but when the IFRAME loads (loading the page Addquestion.aspx), I get the following error:

Error loading the file http://localhost:3434/Survey/Xinha/linker/scan.php

Note: This file (scan.php) is located in the Xinha folder on the server, just like all the other files.

To make things even more strange, sometimes after I get this error message, the Xinha editor still loads properly and other times it does not. When it does not load, I just see a basic textarea, as if Xinha wasn’t being used at all.

I cannot figure out why sometimes it loads and other times it does not. I’m not sure what I’m doing differently when it works or when it breaks. Currently, it seems to work less than 50% of the time.

I am experiencing this problem in both Internet Explorer and FireFox on my PC.

Obviously my goal is to get this amazing script working 100% of the time and I am hoping one of the experts in this forum can show me where I’m going wrong. I’ve tried everything I can think of and can’t seem to figure it out.

I GREATLY appreciate any and all help. And, if you need more information, please do not hesitate to ask.

Thanks in advance!

-- Robert

Here is my Config.js file in case you need to see that:

// JScript File

xinha_editors = null;
xinha_init    = null;
xinha_config  = null;
xinha_plugins = null;

// This contains the names of textareas we will make into Xinha editors
xinha_init = xinha_init ? xinha_init : function()
{
   /** STEP 1 ***************************************************************
   * First, specify the textareas that shall be turned into Xinhas. 
   * For each one add the respective id to the xinha_editors array.
   * I you want add more than on textarea, keep in mind that these 
   * values are comma seperated BUT there is no comma after the last value.
   * If you are going to use this configuration on several pages with different
   * textarea ids, you can add them all. The ones that are not found on the
   * current page will just be skipped.
   ************************************************************************/
  
  xinha_editors = xinha_editors ? xinha_editors :
  [
    'txtQuestion', 'anotherOne'
  ];
  
  /** STEP 2 ***************************************************************
   * Now, what are the plugins you will be using in the editors on this
   * page.  List all the plugins you will need, even if not all the editors
   * will use all the plugins.
   *
   * The list of plugins below is a good starting point, but if you prefer
   * a simpler editor to start with then you can use the following 
   * 
   * xinha_plugins = xinha_plugins ? xinha_plugins : [ ];
   *
   * which will load no extra plugins at all.
   ************************************************************************/

  xinha_plugins = xinha_plugins ? xinha_plugins :
  [
   'CharacterMap',
   'ContextMenu',
   'ListType',
   'Stylist',
   'Linker',
   'SuperClean',
   'TableOperations'
  ];
  
         // THIS BIT OF JAVASCRIPT LOADS THE PLUGINS, NO TOUCHING  :)
         if(!Xinha.loadPlugins(xinha_plugins, xinha_init)) return;


  /** STEP 3 ***************************************************************
   * We create a default configuration to be used by all the editors.
   * If you wish to configure some of the editors differently this will be
   * done in step 5.
   *
   * If you want to modify the default config you might do something like this.
   *
   *   xinha_config = new Xinha.Config();
   *   xinha_config.width  = '640px';
   *   xinha_config.height = '420px';
   *
   *************************************************************************/

   xinha_config = xinha_config ? xinha_config() : new Xinha.Config();
   
  //this is the standard toolbar, feel free to remove buttons as you like
  xinha_config.toolbar =
  [
    ["popupeditor"],
    ["separator","formatblock","fontname","fontsize","bold","italic","underline","strikethrough"],
    ["separator","forecolor","hilitecolor","textindicator"],
    ["separator","subscript","superscript"],
    ["linebreak","separator","justifyleft","justifycenter","justifyright","justifyfull"],
    ["separator","insertorderedlist","insertunorderedlist","outdent","indent"],
    ["separator","inserthorizontalrule","createlink","insertimage","inserttable"],
    ["linebreak","separator","undo","redo","selectall","print"], (Xinha.is_gecko ? [] : ["cut","copy","paste","overwrite","saveas"]),
    ["separator","killword","clearfonts","removeformat","toggleborders","splitblock","lefttoright", "righttoleft"],
    ["separator","htmlmode","showhelp","about"]
  ];

        
   // To adjust the styling inside the editor, we can load an external stylesheet like this
   // NOTE : YOU MUST GIVE AN ABSOLUTE URL
  
   xinha_config.pageStyleSheets = [ _editor_url + "examples/full_example.css" ];

  /** STEP 4 ***************************************************************
   * We first create editors for the textareas.
   *
   * You can do this in two ways, either
   *
   *   xinha_editors   = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
   *
   * if you want all the editor objects to use the same set of plugins, OR;
   *
   *   xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config);
   *   xinha_editors.myTextArea.registerPlugins(['Stylist']);
   *   xinha_editors.anotherOne.registerPlugins(['CSS','SuperClean']);
   *
   * if you want to use a different set of plugins for one or more of the
   * editors.
   ************************************************************************/

  xinha_editors   = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);

  /** STEP 5 ***************************************************************
   * If you want to change the configuration variables of any of the
   * editors,  this is the place to do that, for example you might want to
   * change the width and height of one of the editors, like this...
   *
   *   xinha_editors.myTextArea.config.width  = '640px';
   *   xinha_editors.myTextArea.config.height = '480px';
   *
   ************************************************************************/


  /** STEP 6 ***************************************************************
   * Finally we "start" the editors, this turns the textareas into
   * Xinha editors.
   ************************************************************************/

  Xinha.startEditors(xinha_editors);
}

Xinha._addEvent(window,'load', xinha_init); // this executes the xinha_init function on page load 
                                            // and does not interfere with window.onload properties set by other scripts

Offline

#2 2010-07-13 20:10:33

gogo
Xinha Leader
From: New Zealand
Registered: 2005-02-11
Posts: 1,015
Website

Re: Loading Xinha Inside IFRAME Doesn't Work All The Time

Does your server support PHP?

Various pugins require PHP, Linker is one of them (unless you bypass scan.php with your own alternative).


James Sleeman

Offline

#3 2010-07-13 20:15:19

dr_robert
Xinha Community Member
Registered: 2010-07-12
Posts: 12

Re: Loading Xinha Inside IFRAME Doesn't Work All The Time

Thanks for the reply James. You're going to be my life saver! smile

I bet that my server does not support PHP.

At the risk of sounding silly, how do I go about disabling/bypassing "Linker"?

Do you think that is what is causing the entire Xinha editor not to load?

Once again, your help is VERY much appreciated. I'm so eager to get this working perfectly.

Offline

#4 2010-07-13 23:07:15

gogo
Xinha Leader
From: New Zealand
Registered: 2005-02-11
Posts: 1,015
Website

Re: Loading Xinha Inside IFRAME Doesn't Work All The Time

Linker is a plugin, remove it.

http://trac.xinha.org/wiki/NewbieGuide

  
  /** STEP 2 ***************************************************************
   * Now, what are the plugins you will be using in the editors on this
   * page.  List all the plugins you will need, even if not all the editors
   * will use all the plugins.
   *
   * The list of plugins below is a good starting point, but if you prefer
   * a simpler editor to start with then you can use the following 
   * 
   * xinha_plugins = xinha_plugins ? xinha_plugins : [ ];
   *
   * which will load no extra plugins at all.
   ************************************************************************/

  xinha_plugins = xinha_plugins ? xinha_plugins :
  [
   'CharacterMap',
   'ContextMenu',
   'ListType',
   'Stylist',
   'Linker',
   'SuperClean',
   'TableOperations'
  ];

James Sleeman

Offline

#5 2010-07-13 23:50:17

dr_robert
Xinha Community Member
Registered: 2010-07-12
Posts: 12

Re: Loading Xinha Inside IFRAME Doesn't Work All The Time

Thanks James.

Sorry, that was a silly question, since I should have remembered that.

I'll test that out and report back.

As always, your help is appreciated. Cheers!

Offline

Board footer

Powered by FluxBB