Le but de cette application est de permettre la construction de pages web en quasi WYSIWYG dans IE.
Elle utilise des fichiers XML pour stocker la liste des éléments de la page (images et texte) ainsi que leurs propriétés.
Une interface permet de déplacer chacun des élements (texte ou image) simplement en les faisant glisser à l'aide de la souris et de modifier leurs propriétés grâce à une feuille de propriétés de type VB (sans avoir la prétention d'être aussi complet :)
Il y a quelques fonctionnalités à ajouter mais le code constitue déjà une bonne base.
Les fichiers générés ne s'affichent pas correctement sous Netscape. Il faudrait que je génère un code spécifique pour Netscape... Elles fonctionent sous IE (dernières versions) et sous Mozilla (testé avec un BSD).
Source / Exemple :
<!-- Fichier /test.asp : utilisé pour afficher la page, on y définit le nom du fichier xml à utiliser -->
<!--
Author : Emmanuel BRUNO-GAZIGNAIRE
Email : ___nospam___bmanu@francenet.fr
Web Site: http://gdf.zalem.net
-->
<!-- #include virtual="/functions/loadfromfile.asp" -->
<%
Dim XmlDataFile
'Put your statements here in order to intialize you variable :
MyVariable = "This is an example of dynamic text included in your page"
'Choose your xml file for this page
XmlDataFile = Server.MapPath(Application("xmlFolder") & "/test.xml")
%>
<!-- #include virtual="/functions/doReadXml.asp" -->
<html>
<head>
<link rel="stylesheet" type="text/css" href="/css/oop.css">
<style type="text/css">
<%= strStyle %>
</style>
<script language="javascript">
</script>
</head>
<body>
<div id="main" class="main">
<%= strElts %>
</div>
</body>
</html>
<!-- Fichier /xml/test.xml : contient la description des données de la page -->
<?xml version="1.0" ?>
<!DOCTYPE page SYSTEM "main.dtd"[]>
<page>
<pageItem>
<texte src="test1.htm" class="TexteAccueil" leftPos="11" topPos="127" width="200" height="50" zIndex="0" autreProp="" />
</pageItem>
<pageItem>
<image src="MSDN_banner.gif" srcClick="net_small.gif" alt="" leftPos="199" topPos="91" width="250" height="60" onclick="" zIndex="1" autreProp="" />
</pageItem>
<pageItem>
<variable name="MyVariable" class="TexteAccueilFB" leftPos="362" topPos="126" width="200" height="80" zIndex="2" autreProp="" />
</pageItem>
</page>
<-- fichier /functions/doReadXml.asp -->
<!--
Author : Emmanuel BRUNO-GAZIGNAIRE
Email : ___nospam___bmanu@francenet.fr
Web Site: http://gdf.zalem.net
-->
<%
'Load and read file
%>
<!-- #include virtual="/functions/loadXmlFile.asp" -->
<!-- #include virtual="/functions/readPageitemXMLFile.asp" -->
<%
'get values
set result = readPageItemXmlFile(pageItem)
strStyle = result.strStyle
strScript = result.strScript
strElts = result.strElts
set result = nothing
%>
<!-- fichier /functions/loadXmlFile.asp -->
<%
'Author : Emmanuel BRUNO-GAZIGNAIRE
'Email : ___nospam___bmanu@francenet.fr
'Web Site: http://gdf.zalem.net
'Creates an object objParser. It will call an instance of the system XML parser :
Dim objParser
Set objParser = Server.CreateObject("Microsoft.XMLDOM" )
'and an object XML Document. It will contain loaded data :
Dim xDoc
Set xDoc = Server.CreateObject("MSXML.DOMDocument")
'Put Async property of object XML Document (xdoc) to false
'for more information, see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk30/htm/xmproasync.asp
xDoc.Async = false
'verify validity of the XML loaded document with the parser :
'for more information, see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk30/htm/xmprovalidateonparse.asp
xDoc.validateOnParse = True
'Load file
Dim XmlFileLoaded
XmlFileLoaded = xDoc.Load(XmlDataFile)
If not XmlFileLoaded then
Response.Clear
Dim strErrText
Dim xPE
Set xPE = xDoc.parseError
With xPE
strErrText = "<pre>An XML Document failed to load " & _
"due the following error." & vbCrLf & _
"Error #: " & .errorCode & ": " & .reason & _
"Line #: " & .Line & vbCrLf & _
"Line Position: " & .linepos & vbCrLf & _
"Position In File: " & .filepos & vbCrLf & _
"Source Text: " & .srcText & vbCrLf & _
"Document URL: " & .url & "</pre>"
End With
Response.Write strErrText
Response.End
End if
%>
<!-- J'arrête là, les fichiers sont tous dans le zip. -->
Conclusion :
Je ferai sans doute un site de démo sur ma machine dès que j'aurai un peu de temps.
Avant il faut que je limite le type et la taille des fichiers à uploader.
L'appli a été testée avec IE 6.
Elle utilise du DHTML donc il est probable qu'elle ne fonctionne pas sur de vieilles versions.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.