X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Помогите переделать код JavaScript в PHP-код
WHITE_DRAGON
WHITE_DRAGON
Topic Starter сообщение 5.10.2008, 19:22; Ответить: WHITE_DRAGON
Сообщение #1


У меня проблемма, а именно есть JAVA код, а мне нужен почти такой же только на PHP. Кто может помогите:

var Oxml = external.LoadPluginXML("olist.xml");
var oinner = '';
var olinner = '';

function ODelete(nick){
if (confirm('Вы действительно хотите удалить персонажа '+nick+' из списка?')){
Oxml = external.LoadPluginXML("olist.xml");
         var node = Oxml.selectSingleNode('online/char[@login="' + nick + '"]');
            if (node){
               node.parentNode.removeChild(node);
               external.SavePluginXML('olist.xml', Oxml);
               oinner='';
               oinner='<font color="red">Персонаж удалён</font><br>';
               olist();
            }else{
               oinner='';
               oinner='<font color="red">Произошла ошибка. Возможно, персонажа с таким именем нет в списке</font><br>';
               olist();
            }
}
}
function OAdd(){
var nick = document.frames[external.MainFrameName].document.all["addlogin"].value;
var comment = document.frames[external.MainFrameName].document.all["comment"].value;
var node = Oxml.selectSingleNode('online/char[@login="' + nick + '"]');
         if(node) {
            if (confirm('Персонаж с данным ником уже есть в списке персонажей. Обновить информацию о нём?')){
               ODeleteChar(nick);
               OAdd2(nick, comment);
            }
         }else{
            OAdd2(nick, comment);
         }
}
function OAdd2(nick, comment){
var root = Oxml.selectSingleNode("online");
   if (!root){ //не нашли, значит создаем новую
      root = Oxml.ownerDocument.createElement("online");
      Oxml.appendChild(root);
   }
   var Onode = root.ownerDocument.createElement("char");
   root.appendChild(Onode);
      OChange(Onode, "login", nick);
      OChange(Onode, "comment", comment);
   external.SavePluginXML("olist.xml", Oxml);
result=1;
Oxml = external.LoadPluginXML("olist.xml");
oinner='';
oinner='<font color="red">Персонаж '+nick+' добавлен</font><br>';
olist();
Oxml = external.LoadPluginXML("olist.xml");
}
function OChange(Oxml, attrName, attrValue) {
   var attr = Oxml.attributes.getNamedItem(attrName);
   if (!attr)    {
         attr = Oxml.ownerDocument.createAttribute(attrName);
         Oxml.attributes.setNamedItem(attr);
         }
   attr.nodeValue = attrValue;
}

function olist(){
oinner+="<body bgcolor=#DCDCDC>";
oinner+='<DIV id=mmoves style="BORDER-RIGHT: #666666 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #666666 1px solid; PADDING-LEFT: 2px; Z-INDEX: 100; LEFT: 693px; VISIBILITY: hidden; PADDING-BOTTOM: 2px; OVERFLOW: visible; BORDER-LEFT: #666666 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #666666 1px solid; WHITE-SPACE: nowrap; POSITION: absolute; TOP: 200px; BACKGROUND-COLOR: #ffffcc"></DIV>';
oinner+="<table width=100%><tr><td width=98%></td><td width=1%><input type=button value=Обновить onclick='javascript:top.ORefresh();'</td><td width=1%><input type=button onclick='javascript: document.location=\"/main.pl?tmp=\"+Math.random();' value='Вернуться'></td></tr></table><br>";
oinner+="<table width=100%><tr>";
oinner+="<td width=100%>";
oinner+="<i>Список персонажей</i>";
oinner+="</td>";  
oinner+="<table border=1 bordercolor=#F5EDC7 width=70%>";
oinner+="<tr><td width=30%><b>Логин</b></td><td width=70%><b>Комментарий</b></td><td style='filter:Gray()'><IMG src='http://img.combats.com/i/clear.gif'></td></tr>";
OFindOnline();
oinner+="</table>";
oinner+="</tr>";
oinner+="<tr>";
oinner+="<td>";
oinner+="<form name=F1>";
oinner+="<hr>Добавить/изменить персонажа:<br>";
oinner+="Логин: <input type='text' name='addlogin' style='background: #FCFEE7'>";
oinner+=" Комментарий: <input name=comment type=text style='background: #FCFEE7'> <input type=button onclick='top.OAdd()' value=Добавить>";
oinner+="<form><br>";
oinner+="<form name=F2>";
oinner+="</td>";
oinner+="</tr>";
oinner+="</table>";
OGetOffline();
oinner+="<br><br><br><i>Список персонажей, которые не находятся с нами в одной комнате</i><br>";
oinner+="<table border=1 bordercolor=#F5EDC7 width=70%>";
oinner+="<tr><td width=30%><b>Логин</b></td><td width=70%><b>Комментарий</b></td><td style='filter:Gray()'><IMG src='http://img.combats.com/i/clear.gif'></td></tr>";
oinner+=olinner;
oinner+="</table>";
oinner+="</body>";
document.frames[external.MainFrameName].document.body.innerHTML = oinner;
oinner='';
olinner='';
}
function OFindOnline(){
   for (var i = 0; i < external.OnlineLoginCount; i++) {
      pers = external.GetOnlineLogin(i);
      var node = Oxml.selectSingleNode('online/char[@login="' + pers.Login + '"]');
         if(node) {
            oinner+="<tr onmouseout='javascript: this.style.background=\"\"' onmouseover='javascript: this.style.background=\"#BFFFB2\"'><td width=30%>";
            oinner+="<a href=\"javascript:top.AddToPrivate(\'"+pers.Login+"\')\"><IMG SRC=http://img.combats.com/i/lock.gif WIDTH=20 HEIGHT=15 ALT='Приватно'></a>";
            OOther(pers);
            oinner+="<a href=\"javascript:top.AddTo(\'"+pers.Login+"\')\">"+pers.Login+"</a>["+pers.level+"]<a href='inf.pl?login="+pers.Login+"' target=_blank>"+
      "<IMG SRC='http://img.combats.com/i/inf.gif' WIDTH=12 HEIGHT=11 BORDER=0 ALT='Инф. о "+pers.Login+"'></a></td><td width=70%>"+getComment(pers.Login)+"</td>";
oinner+='<td><img src="[URL]http://img.combats.com/i/clear.gif[/URL]" style="cursor: hand"  onmouseout="hideshow();" onmousemove="fastshow(\'удалить персонажа <strong>'+pers.Login+'</strong> из списка\');" onclick="top.ODelete(\''+pers.Login+'\')"></td></tr>';

         }//else{
//alert(pers.Login);
//           olinner+="<tr onmouseout='javascript: this.style.background=\"\"' onmouseover='javascript: this.style.background=\"#BFFFB2\"'><td width=30%>";
//            oinner+="<IMG SRC=http://img.combats.com/i/offline.gif WIDTH=20 HEIGHT=15 ALT='Нет в комнате'></a>";
//           olinner+="<font color=gray>pers.Login</font><a href='inf.pl?login="+pers.Login+"' target=_blank>"+
      "<IMG SRC='http://img.combats.com/i/inf_dis.gif' WIDTH=12 HEIGHT=11 BORDER=0 ALT='Инф. о "+pers.Login+"'></a></td><td width=70%>"+getComment(pers.Login)+"</td>";
//alert(olinner);
//         }
   }
}
function getComment(nick){
   var path = "online/char";
   var node, attr, list = Oxml.selectNodes(path);
        var comment, name ='';
   for (var i = 0; i < list.length; i ++) {
      node = list.item(i);
      attr = node.attributes.getNamedItem("login");
      if (attr) {
         name = attr.nodeValue;
      } else
         name = '';
      attr = node.attributes.getNamedItem("comment");
      if (attr) {
         comment = attr.nodeValue;
      } else
         comment = 0;
                if (name==nick){
                        return comment;
                }
         }
return '';
}
function OOther(pers){
oinner+="<img src='http://img.combats.com/i/align"+pers.Align+".gif'>";
if (pers.klan!=''){
oinner+="<img src='http://img.combats.com/i/klan/"+pers.klan+".gif'>"
}
}
function ODeleteChar(login){
         var node = Oxml.selectSingleNode('online/char[@login="' + login + '"]');
            if (node){
               node.parentNode.removeChild(node);
               external.SavePluginXML('olist.xml', Oxml);
            }
}
function OGetOffline(){
   var path = "online/char";
   var node, attr, list = Oxml.selectNodes(path);    
      for (var i = 0; i < list.length; i ++) {
         node = list.item(i);
    attr = node.attributes.getNamedItem("login");
            if (attr) {
               if (OisNOTOnline(attr.nodeValue)){
                  olinner+="<tr onmouseout='javascript: this.style.background=\"\"' onmouseover='javascript: this.style.background=\"#BFFFB2\"'><td width=30%>";
                  olinner+="<IMG SRC=http://img.combats.com/i/offline.gif WIDTH=20 HEIGHT=15 ALT='Нет в комнате'></a>";
                  olinner+="&nbsp;&nbsp;<font color=gray><i>"+attr.nodeValue+"</i></font><a href='inf.pl?login="+attr.nodeValue+"' target=_blank>"+
                  "<IMG SRC='http://img.combats.com/i/inf_dis.gif' WIDTH=12 HEIGHT=11 BORDER=0 ALT='Инф. о "+pers.Login+"'></a></td><td width=70%>"+getComment(attr.nodeValue)+"</td>";
                  olinner+='<td><img src="[URL]http://img.combats.com/i/clear.gif[/URL]" style="cursor: hand"  onmouseout="hideshow();" onmousemove="fastshow(\'удалить персонажа <strong>'+attr.nodeValue+'</strong> из списка\');" onclick="top.ODelete(\''+attr.nodeValue+'\')"></td></tr>';
               }
       }
      }
}
function OisNOTOnline(nick){
   for (var i = 0; i < external.OnlineLoginCount; i++) {
      var pers = external.GetOnlineLogin(i);
         if(nick==pers.Login){
            return false;
         }
   }
   return true;
}

function ORefresh(){
   external.RegisterOnDocumentComplete('ORefreshHandle');
   document.frames[external.OnlineFrameName].location.href='/ch.pl?online='+Math.random();
}
function ORefreshHandle(target){
   if(target==external.OnlineFrameName){
   external.UnRegisterOnDocumentComplete('ORefreshHandle');
   olist();
   }
}
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 5.10.2008, 20:41; Ответить: Webmaster_hb
Сообщение #2


просто конвертировать нет возможности
логика программы со стороны сервера и со стороны клиента разная

легче заново написать
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WHITE_DRAGON
WHITE_DRAGON
Topic Starter сообщение 5.10.2008, 22:14; Ответить: WHITE_DRAGON
Сообщение #3


Webmaster, я в PHP новичёк... хотя пробовать буду...
(' post='12298 @ 5.10.2008, 23:41)
легче заново написать

какие мне функции PHP понадабятся для этого???
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 5.10.2008, 22:44; Ответить: Webmaster_hb
Сообщение #4


WHITE_DRAGON, надо сначала просто составить алгоритм - порядок действий
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Exterior
Exterior
сообщение 5.10.2008, 23:15; Ответить: Exterior
Сообщение #5


(' post='12299 @ 6.10.2008, 01:14)
какие мне функции PHP понадабятся для этого?

скачайте в этом разделе в прикрепленной теме учебники, ознакомтесь с синтаксисом, встроенными функциями, сравните с логикой программы на Java и, собственно, попытайтесь воспроизвести php-аналог.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WHITE_DRAGON
WHITE_DRAGON
Topic Starter сообщение 5.10.2008, 23:29; Ответить: WHITE_DRAGON
Сообщение #6


Webmaster, понятно...


Exterior, да учебников я уже много накачал, но большинство в виде словарей, а один, который весьма хороший и понятный, на половину только переведён, другая половина на английском... а так, цены б ему не было...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WHITE_DRAGON
WHITE_DRAGON
Topic Starter сообщение 7.10.2008, 9:21; Ответить: WHITE_DRAGON
Сообщение #7


А кто знает как заставить работать этот код в хтмл документе?
Просто этот код из программы в которой он нормально работает, а если вставлять при помощи тегов в хтмл документ то ничего не появляется, просто пустое окно в эксплорере... может его надо вставкой делать из явовского документа или же просто там чего-то не хватает в самом коде или же в хтмл... Помогите кто знает!!!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Exterior
Exterior
сообщение 7.10.2008, 19:12; Ответить: Exterior
Сообщение #8


WHITE_DRAGON,

Вставка Java-апплета c помощью тега <OBJECT>

Элемент 'APPLET' является устаревшим, вместо него спецификация HTML 4.01 предоставляет элемент 'OBJECT'.
Примеры

Класс main апплета (Sample2) и другие необходимые классы не находятся внутри jar файла (java архива).
<applet code="Sample2"
          height="300" width="450" >
</applet>


заменяется на:
<!--[if !IE]>
<object classid="java:Sample2.class"
        type="application/x-java-applet"
        height="300" width="450" >
<![endif]-->
  <!-- MSIE (Microsoft Internet Explorer) будет использовать внутренний объект -->
  <object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
          codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab"
          height="300" width="450" >
    <param name="code" value="Sample2" />
    <strong>
      Этот браузер не имеет Java-плагина.
      <br />
      <a href="http://java.sun.com/products/plugin/downloads/index.html">
        Скачайте по ссылке самую последнюю версию Java-плагина.
      </a>
    </strong>
  </object>
<!--[if !IE]>
</object>
<![endif]-->


Класс main апплета (Sample2) и другие необходимые классы находятся внутри jar файла (java архива).
<applet code="Sample2"
        archive="Sample2.jar"
        height="300" width="450" >
</applet>


становится:
<!--[if !IE]>
<object classid="java:Sample2.class"
        type="application/x-java-applet"
        archive="Sample2.jar"
        height="300" width="450" >
  <!-- Браузеру Konqueror необходимо указывать следующий параметр -->
  <param name="archive" value="Sample2.jar" />
<![endif]-->
  <!--  MSIE (Microsoft Internet Explorer) будет использовать внутренний объект -->
  <object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
          codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab"
          height="300" width="450" >
    <param name="code" value="Sample2" />
    <param name="archive" value="Sample2.jar" />
    <strong>
      Этот браузер не имеет Java-плагина.
      <br />
      <a href="http://java.sun.com/products/plugin/downloads/index.html">
        Скачайте по ссылке самую последнюю версию Java-плагина.
      </a>
    </strong>
  </object>
<!--[if !IE]>
</object>
<![endif]-->


Этот код работает в MSIE 6, браузерах семейства Mozilla и других стандарто-ориентированных браузерах, также код проходит проверку на соответствие спецификациям HTML 4.01 transitional и HTML 4.01 strict.

MSIE вызывает Java-плагин через управляющий элемент ActiveX. Управляющий элемент с идентификатором "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" заставляет браузер использовать самую новую версию Java-плагина, установленную на компьютере пользователя. Иногда пользователи MSIE 6 имеют несколько установленных версий плагина.

Другая идея состоит в использовании условных комментариев Internet Explorer-а, таким образом MSIE не увидит внешний объект. Иначе он попытается отобразить оба объекта (MSIE 6 ведёт себя не в соответствии со спецификацией HTML 4.01). Firefox и другие браузеры будут использовать внешний 'OBJECT'.

Дополнительные возможности устранения проблем с Java-плагином
- Использование codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab" позволяет MSIE предложить пользователю установить плагин версии 1.5.0, который браузер скачает с java.sun.com, если на компьютере пользователя нет плагина, либо его версия старше, чем необходимо для запуска апплета.
- Cодержимое внутреннего элемента 'OBJECT':
<strong>
   Этот браузер не имеет Java-плагина.
   <br>
   <a href="http://java.sun.com/products/plugin/downloads/index.html">
     Скачайте по ссылке самую последнюю версию Java-плагина.
   </a>
</strong>


подскажет пользователям Firefox и других (не MSIE) браузеров, где можно скачать последнюю версию Java-плагина в случае, если он не установлен. Если же он установлен, но его версия старше, чем необходимо, то апплет работать не будет, однако, к сожалению, попытка отобразить объект будет считаться удачной и браузер не перейдёт к внутреннему объекту. Поэтому на странице перед апплетом всегда должно быть пояснение для пользователя, что делать, если апплет не работает.

по материалам liman.od.ua
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WHITE_DRAGON
WHITE_DRAGON
Topic Starter сообщение 23.10.2008, 13:47; Ответить: WHITE_DRAGON
Сообщение #9


Exterior,
Что-то у меня не очень получается, правдо я везде в Вашем коде заменил Sample2.jar на Sample2.js , а в браузере просто отображается большой квадрат, но код из этого архива не загружает, в чём может быть проблемма или просто в самом коде кот у меня в первом сообщении не подходит для хтмл, а только для той проги откуда я его взял, хотя ява код одинаков везде или же нет???
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Exterior
Exterior
сообщение 25.10.2008, 16:25; Ответить: Exterior
Сообщение #10


WHITE_DRAGON, только сейчас заметил, что это не JAVA, а JavaScript! - это совершенно разные вещи! Конечно, не будет работать, технологи разные. Javascript вставляется на страницу как отдельный файл след. образом:
<html>
<head>
<title></title>

<script type="text/javascript" src="path/to/csript"></script>

</head>

<body>

</body>
</html>


P.$. вот так вот просто можно ввести в заблуждение простой ошибкой в названии/объяснении :unsure: ...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Написать универсальный движок для сайтов на PHP
14 BuxarNET 1035 9.11.2020, 17:55
автор: BuxarNET
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыОбновлял кто код sape, какие впечатления?
15 Telnor 1196 22.10.2020, 11:47
автор: Telnor
Открытая тема (нет новых ответов) Помогите советом как пробить ЯШУ для сайта Giffs.ru ?!
Что нужно докрутить у сайта, что бы ЯША не устоял ?
10 sinoptik89 588 20.10.2020, 22:24
автор: VinogradOFF
Открытая тема (нет новых ответов) Написать универсальный движок для сайтов на PHP
0 BuxarNET 247 18.10.2020, 6:58
автор: BuxarNET
Открытая тема (нет новых ответов) Обновлял кто код sape, какие впечатления?
1 Zevss 347 17.10.2020, 21:28
автор: Nirograf


 



RSS Текстовая версия Сейчас: 29.11.2020, 14:27
Дизайн