sample08.html
196 lines
| 6.2 KiB
| text/html
|
HtmlLexer
|
r0 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
<!-- | ||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net | ||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben | ||||
* | ||||
* == BEGIN LICENSE == | ||||
* | ||||
* Licensed under the terms of any of the following licenses at your | ||||
* choice: | ||||
* | ||||
* - GNU General Public License Version 2 or later (the "GPL") | ||||
* http://www.gnu.org/licenses/gpl.html | ||||
* | ||||
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL") | ||||
* http://www.gnu.org/licenses/lgpl.html | ||||
* | ||||
* - Mozilla Public License Version 1.1 or later (the "MPL") | ||||
* http://www.mozilla.org/MPL/MPL-1.1.html | ||||
* | ||||
* == END LICENSE == | ||||
* | ||||
* Sample page. | ||||
--> | ||||
<html xmlns="http://www.w3.org/1999/xhtml"> | ||||
<head> | ||||
<title>FCKeditor - Sample</title> | ||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||||
<meta name="robots" content="noindex, nofollow" /> | ||||
<link href="../sample.css" rel="stylesheet" type="text/css" /> | ||||
<script type="text/javascript" src="../../fckeditor.js"></script> | ||||
<script type="text/javascript"> | ||||
<!-- | ||||
// FCKeditor_OnComplete is a special function that is called when an editor | ||||
// instance is loaded ad available to the API. It must be named exactly in | ||||
// this way. | ||||
function FCKeditor_OnComplete( editorInstance ) | ||||
{ | ||||
// Show the editor name and description in the browser status bar. | ||||
document.getElementById('eMessage').innerHTML = 'Instance "' + editorInstance.Name + '" loaded - ' + editorInstance.Description ; | ||||
// Show this sample buttons. | ||||
document.getElementById('eButtons').style.visibility = '' ; | ||||
} | ||||
function InsertHTML() | ||||
{ | ||||
// Get the editor instance that we want to interact with. | ||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ; | ||||
// Check the active editing mode. | ||||
if ( oEditor.EditMode == FCK_EDITMODE_WYSIWYG ) | ||||
{ | ||||
// Insert the desired HTML. | ||||
oEditor.InsertHtml( '- This is some <a href="/Test1.html">sample<\/a> HTML -' ) ; | ||||
} | ||||
else | ||||
alert( 'You must be on WYSIWYG mode!' ) ; | ||||
} | ||||
function SetContents() | ||||
{ | ||||
// Get the editor instance that we want to interact with. | ||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ; | ||||
// Set the editor contents (replace the actual one). | ||||
oEditor.SetData( 'This is the <b>new content<\/b> I want in the editor.' ) ; | ||||
} | ||||
function GetContents() | ||||
{ | ||||
// Get the editor instance that we want to interact with. | ||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ; | ||||
// Get the editor contents in XHTML. | ||||
alert( oEditor.GetXHTML( true ) ) ; // "true" means you want it formatted. | ||||
} | ||||
function ExecuteCommand( commandName ) | ||||
{ | ||||
// Get the editor instance that we want to interact with. | ||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ; | ||||
// Execute the command. | ||||
oEditor.Commands.GetCommand( commandName ).Execute() ; | ||||
} | ||||
function GetLength() | ||||
{ | ||||
// This functions shows that you can interact directly with the editor area | ||||
// DOM. In this way you have the freedom to do anything you want with it. | ||||
// Get the editor instance that we want to interact with. | ||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ; | ||||
// Get the Editor Area DOM (Document object). | ||||
var oDOM = oEditor.EditorDocument ; | ||||
var iLength ; | ||||
// The are two diffent ways to get the text (without HTML markups). | ||||
// It is browser specific. | ||||
if ( document.all ) // If Internet Explorer. | ||||
{ | ||||
iLength = oDOM.body.innerText.length ; | ||||
} | ||||
else // If Gecko. | ||||
{ | ||||
var r = oDOM.createRange() ; | ||||
r.selectNodeContents( oDOM.body ) ; | ||||
iLength = r.toString().length ; | ||||
} | ||||
alert( 'Actual text length (without HTML markups): ' + iLength + ' characters' ) ; | ||||
} | ||||
function GetInnerHTML() | ||||
{ | ||||
// Get the editor instance that we want to interact with. | ||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ; | ||||
alert( oEditor.EditorDocument.body.innerHTML ) ; | ||||
} | ||||
function CheckIsDirty() | ||||
{ | ||||
// Get the editor instance that we want to interact with. | ||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ; | ||||
alert( oEditor.IsDirty() ) ; | ||||
} | ||||
function ResetIsDirty() | ||||
{ | ||||
// Get the editor instance that we want to interact with. | ||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ; | ||||
oEditor.ResetIsDirty() ; | ||||
alert( 'The "IsDirty" status has been reset' ) ; | ||||
} | ||||
--> | ||||
</script> | ||||
</head> | ||||
<body> | ||||
<h1> | ||||
FCKeditor - JavaScript - Sample 8 | ||||
</h1> | ||||
<div> | ||||
This sample shows how to use the FCKeditor JavaScript API to interact with the editor | ||||
at runtime. | ||||
</div> | ||||
<hr /> | ||||
<form action="../php/sampleposteddata.php" method="post" target="_blank"> | ||||
<script type="text/javascript"> | ||||
<!-- | ||||
// Automatically calculates the editor base path based on the _samples directory. | ||||
// This is usefull only for these samples. A real application should use something like this: | ||||
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value. | ||||
var sBasePath = document.location.href.substring(0,document.location.href.lastIndexOf('_samples')) ; | ||||
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ; | ||||
oFCKeditor.BasePath = sBasePath ; | ||||
oFCKeditor.Value = '<p>This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.<\/p>' ; | ||||
oFCKeditor.Create() ; | ||||
//--> | ||||
</script> | ||||
<br /> | ||||
<input type="submit" value="Submit" /> | ||||
</form> | ||||
<div> | ||||
| ||||
</div> | ||||
<hr /> | ||||
<div id="eMessage"> | ||||
| ||||
</div> | ||||
<div> | ||||
| ||||
</div> | ||||
<div id="eButtons" style="visibility: hidden"> | ||||
<input type="button" value="Insert HTML" onclick="InsertHTML();" /> | ||||
<input type="button" value="Set Editor Contents" onclick="SetContents();" /> | ||||
<input type="button" value="Get Editor Contents (XHTML)" onclick="GetContents();" /> | ||||
<br /> | ||||
<br /> | ||||
<input type="button" value='Execute "Bold" Command' onclick="ExecuteCommand('Bold');" /> | ||||
<input type="button" value='Execute "Link" Command' onclick="ExecuteCommand('Link');" /> | ||||
<br /> | ||||
<br /> | ||||
<input type="button" value="Interact with the Editor Area DOM" onclick="GetLength();" /> | ||||
<input type="button" value="Get innerHTML" onclick="GetInnerHTML();" /> | ||||
<br /> | ||||
<br /> | ||||
<input type="button" value="Check IsDirty()" onclick="CheckIsDirty();" /> | ||||
<input type="button" value="Reset IsDirty()" onclick="ResetIsDirty();" /> | ||||
</div> | ||||
</body> | ||||
</html> | ||||