Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Скрипт пересыльщик RSS

Помогите доработать скрипт пересылки RSS
Этот скрипт работает с таблицей где на ящейке A1 фид, А2 Тема письма, А3 дата последнего поста.
Скрипт отправляет только Тему , ссылку и дату поста.
Помогите скрипт доделать, чтоб он отправлял и тело RSS записи.
Все это крутится на гугл драйв.

function checkFeeds() {
  const mailAddress = "mail@mail.me";
  const feedColumn = 1;
  const mailSubjectColumn = 2;
  const lastPublicationDateColumn = 3
  
  var row = 2;
  var sheet = SpreadsheetApp.getActiveSheet();
  while (true) {
    var currentRow = row++;
    
    var feed = sheet.getRange(currentRow, feedColumn).getValue();
    if (feed == "") {
      break;
    }
    
    var mailSubject = sheet.getRange(currentRow, mailSubjectColumn).getValue();
    var mailBody = "";
    var lastPublicationDateCell = sheet.getRange(currentRow, lastPublicationDateColumn);
    
    var feedContent = UrlFetchApp.fetch(feed).getContentText();
    var doc = Xml.parse(feedContent, false);
    
    var root = doc.getElement();
    if (root == null) {
      break;
    }
    
    var rootName = root.getName().getLocalName();
    if (rootName == "rss") {
      var rssVersion = root.getAttribute("version");
      if (rssVersion == null) {
        break;
      }
      
      if (rssVersion.getValue() == "2.0") {
        mailBody = parseRssFeed(root, mailSubject, lastPublicationDateCell);
      }
    } else if (rootName == "feed") {
      mailBody = parseAtomFeed(root, mailSubject, lastPublicationDateCell);
    }
    
    if (mailBody != "") {
      GmailApp.sendEmail(mailAddress, mailSubject, mailBody);
    }
  }
}

function parseRssFeed(root, mailSubject, lastPublicationDateCell) {
  var maxPubDateText = lastPublicationDateCell.getValue();
  var maxPubDate = "2000-01-01T00:00:00Z";
  if (maxPubDateText != "") {
    maxPubDate = maxPubDateText;
  }
      
  var channel = root.getElement("channel");
  
  var mailBody = "";
  var items = channel.getElements("item")
  var curMaxPubDate = maxPubDate;
  for (var i in items) {
    var dateText = items[i].getElement("pubDate").getText();
    var pubDate = Utilities.formatDate(new Date(dateText), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'");
    
    if (pubDate > maxPubDate) {
      if (pubDate > curMaxPubDate) {
        curMaxPubDate = pubDate
      }
      mailBody += "\nЗаголовок: " + items[i].getElement("title").getText();
      mailBody += "\nСсылка: " + items[i].getElement("link").getText();
      mailBody += "\nДата публикации: " + pubDate;
      mailBody += "\n";
    }
  }

  lastPublicationDateCell.setValue(curMaxPubDate);
  return mailBody;
}

function parseAtomFeed(root, mailSubject, lastPublicationDateCell) {
  var maxPubDateText = lastPublicationDateCell.getValue();
  var maxPubDate = "2000-01-01T00:00:00Z";
  if (maxPubDateText != "") {
    maxPubDate = maxPubDateText;
  }
      
  var mailBody = "";
  var entries = root.getElements("entry")
  var curMaxPubDate = maxPubDate;
  for (var i in entries) {
    var pubDate = entries[i].getElement("updated").getText();
    
    if (pubDate > maxPubDate) {
      if (pubDate > curMaxPubDate) {
        curMaxPubDate = pubDate
      }
      mailBody += "\nЗаголовок: " + entries[i].getElement("title").getText();
      mailBody += "\nСсылка: " + entries[i].getElement("link").getAttribute("href").getValue();
      mailBody += "\nДата публикации: " + pubDate;
      mailBody += "\n";
    }
  }

  lastPublicationDateCell.setValue(curMaxPubDate);
  return mailBody;
}
Ответ: Скрипт немного переделал.
function checkFeeds() {
  const mailAddress = "my@gmail.com";
  const feedColumn = 1;
  const mailSubjectColumn = 2;
  const lastPublicationDateColumn = 3
  
  var row = 2;
  var sheet = SpreadsheetApp.getActiveSheet();
  while (true) {
    var currentRow = row++;
    
    var feed = sheet.getRange(currentRow, feedColumn).getValue();
    if (feed == "") {
      break;
    }
    
    var mailSubject = sheet.getRange(currentRow, mailSubjectColumn).getValue();
    var mailBody = "";
    var lastPublicationDateCell = sheet.getRange(currentRow, lastPublicationDateColumn);
    
    var feedContent = UrlFetchApp.fetch(feed).getContentText();
    var doc = Xml.parse(feedContent, false);
    
    var root = doc.getElement();
    if (root == null) {
      break;
    }
    
    var rootName = root.getName().getLocalName();
    if (rootName == "rss") {
      var rssVersion = root.getAttribute("version");
      if (rssVersion == null) {
        break;
      }
      
      if (rssVersion.getValue() == "2.0") {
        mailBody = parseRssFeed(root, mailSubject, lastPublicationDateCell);
      }
    } else if (rootName == "feed") {
      mailBody = parseAtomFeed(root, mailSubject, lastPublicationDateCell);
    }
    
    if (mailBody != "") {
      GmailApp.sendEmail(mailAddress, mailSubject, mailBody);
    }
  }
}

function parseRssFeed(root, mailSubject, lastPublicationDateCell) {
  var maxPubDateText = lastPublicationDateCell.getValue();
  var maxPubDate = "2000-01-01T00:00:00Z";
  if (maxPubDateText != "") {
    maxPubDate = maxPubDateText;
  }
      
  var channel = root.getElement("channel");
  
  var mailBody = "";
  var items = channel.getElements("item")
  var curMaxPubDate = maxPubDate;
  for (var i in items) {
    var dateText = items[i].getElement("pubDate").getText();
    var pubDate = Utilities.formatDate(new Date(dateText), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'");
    
    if (pubDate > maxPubDate) {
      if (pubDate > curMaxPubDate) {
        curMaxPubDate = pubDate
      }
      mailBody += "\nЗаголовок: " + items[i].getElement("title").getText();
      mailBody += "\nСсылка: " + items[i].getElement("link").getText();
      mailBody += "\nОписание: " + items[i].getElement("description").getText();
      mailBody += "\nДата публикации: " + pubDate;
      mailBody += "\n";
    }
  }

  lastPublicationDateCell.setValue(curMaxPubDate);
  return mailBody;
}

function parseAtomFeed(root, mailSubject, lastPublicationDateCell) {
  var maxPubDateText = lastPublicationDateCell.getValue();
  var maxPubDate = "2000-01-01T00:00:00Z";
  if (maxPubDateText != "") {
    maxPubDate = maxPubDateText;
  }
      
  var mailBody = "";
  var entries = root.getElements("entry")
  var curMaxPubDate = maxPubDate;
  for (var i in entries) {
    var pubDate = entries[i].getElement("updated").getText();
    
    if (pubDate > maxPubDate) {
      if (pubDate > curMaxPubDate) {
        curMaxPubDate = pubDate
      }
      mailBody += "\nЗаголовок: " + entries[i].getElement("title").getText();
      mailBody += "\nСсылка: " + entries[i].getElement("link").getAttribute("href").getValue();
      mailBody += "\nОписание: " + entries[i].getElement("description").getText();
      mailBody += "\nДата публикации: " + pubDate;
      mailBody += "\n";
    }
  }

  lastPublicationDateCell.setValue(curMaxPubDate);
  return mailBody;
}


Как удалить
mailBody += "\nОписание: " + entries[i].getElement("description").getText();
как написать ког ,чтоб в тексте этого сообщения он удалил HTML теги
Вопрос: Товарищи, помогите, скрипт js не запускается

Ничего не предвещало беды. В течении дня(5 часов) работал со скриптом, запуская его из под браузера pale moon, неожиданно при нажатии воспроизвести, он вообще перестал запускаться, ошибку не выдаёт, что делать?
Что я уже пробовал:
- чистил куки
- менял юзер агента
- вкл/выкл браузер
- копирывал скрипт и запускал из другого файла
Ответ:
Сообщение от Dilettante_Pro
Вот, уже проклевывается вариант реального решения проблемы.
А то!!! Еще бы создатель темы из Нирваны вышел, было бы ваще заеб .. здорово!
Вопрос: Прошу помочь: скрипт для вывода текущего года.

Господа,

Очень прошу помочь и написать для меня маленький скрипт, который будет считывать текущую дату на сервере, выделять из неё год и вставлять в мою запись в конце страницы вида:

©2014-текущий год Калейдоскоп

Заранее благодарен.
Ответ:
Сообщение от Nexus
Есть хостинги за 10 рублей в месяц
Ну, я таких хостингов не знаю; если знаете - напишите, посмотрю.
Вопрос: Скрипт редеректа но со своеобразной логикой

Привет!
Помогите написать скрипт редиректа
<script language="JavaScript"> 
window.location.href = "http://moisait.ru"
</script>



принцип работы редиректа такой, если этот скрипт будет открыт на моем домене
moisait.ru то скрипт не срабатывает и редирект на меня-же самого не происходит, а вот
если этот скрипт открыть на любом другом сайте (домене) должен сработать редирект на moisait.ru


Помогите пожалуйста написать такой скрипт, и возможно ли это сделать технически?
скрипт нужен для защиты своего сайта от его отображения (копирования) на других доменах
методом ифрейма, wget, и любыми другими способами.
У меня проблема, у моего сайта появился клон все точь в точь, если я меняю информацию то на его клоне она меняется сразу!
всякие правила .htaccess перепробовал блокировка по ип, запрет перехода с его домена на мой - ничего не помогло
вся надежда на скрипт, может тогда этот упыряка отстанет, заранее спасибо!
Ответ: да уверен! сейчас на домене вора уже другой сайт отображается, я просто писал абузы хостеру, это чмо-воровковитое принялось обрабатывать другого...
жаль что хостер не удаляет и скрипты таких уродов! которые таким образом уничтожают нормальные-сайты людей


так все-же можно на ява такой скрипт написать?
Вопрос: Выбор из 2-х ява скриптов по клику

Привет! помогите написать js скрипт который при нажатии на радио-чекбокс
(физическое лицо) оставлял бы в html коде только
один вариант ява скрипта, в даном случае это <script src="fizlico.js"></script>
а скрипт <script src="yorlico.js"></script> вообще исцезал со страницы

Как это реальзовать? помогите пожалуйста.










<script src="fizlico.js"></script>
<script src="yorlico.js"></script>
////-------------------------------------------////



<input type="radio" name="face" value="nat" checked="on" onclick="fizlico">физическое лицо
<br>
<input type="radio" name="face" value="jur" onclick="yorlico">юридическое лицо
Ответ:
Сообщение от serauto79
один вариант ява скрипта, в даном случае это <script src="fizlico.js"></script>
а скрипт <script src="yorlico.js"></script> вообще исцезал со страницы
Если скрипт уже загружен в документе, то скрывай не скрывай его из DOM толку никакого. Код скрипта будет в памяти и нормально работать, не обращая внимания на то, что вы удалили его из разметки документа
Т. есть если пользователь выберет один чекбокс, а затем другой будут загружены оба файла и оба работать. Конечно-же если в них будут одинаковые глобальные функции то они переопределят друг друга.
для подгрузки (загрузки) динамически скриптов очень удобно использовать мой Js Loader, преимущества в том, что вы получаете дополнительный функционал в виде колбека (callback, выполнения функции после загрузки js скрипта) и использования кеша загруженных скриптов(можно вызывать нужную вам очередность загрузки скриптов и выполнения функций загруженных скриптов в функции обратного вызова). При вызове функции с файлом который загружен уже, выполнится только callback если он есть. Не будет лишней вставки в DOM элемента
Код Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//Js Loader author Fedor Vlasenko
var loader = (function (src, callback) {
    var doc = window.document, cache = {};
    return function (src, callback) {
        if (cache.hasOwnProperty(src)) {
            callback && (callback());
        } else {
            var el = doc.createElement('script'), loaded = 0;
            el.src = src, doc.body.appendChild(el), cache[src] = 1;
            if (callback) {
                el.onload = el.onreadystatechange = function () {
                    if ((el.readyState && el.readyState !== 'complete' && el.readyState !== 'loaded') || loaded)
                        return false;
                    el.onload = el.onreadystatechange = null, loaded = 1, callback();
                };
            }
        }
    };
}());
// пример использования
loader('test1.js', me);
function me() {
    alert('This callback Me');
}
Вопрос: Конфликт двух скриптов! Помогите!

Дорогие профессионалы! Помогите, пожалуйста поставить 2 скрипта на страницу. Дело в том, что оба скрипта работают по одиночке. Но когда ставлю оба - работает только один. Не могу настроить. Извините, я самоучка, и не могу сам писать скрипты...

Вот страница, с одним скриптом в хедере - . Если прописываю другой скрипт ("аккордеон" - пример скрипта здесь - ) - первый скрипт перестает работать.

Вот фрагмент из header.tpl, где прописываю ссылки на скрипт:
"<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/menu.js"></script>
<script src="/js/jquery-1.6.3.min.js" type="text/javascript"></script>
<script type="text/javascript" src="/js/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="/js/tms-0.3.js"></script>
<script type="text/javascript" src="/js/tms_presets.js"></script>
<script type="text/javascript" src="/js/script.js"></script>"

Для второго скрипта дописываю ещё следующее:
" <!-- Add jQuery From the Google AJAX Libraries -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<!-- jQuery Color Plugin -->
<script type="text/javascript" src="/js/jquery.color.js"></script>
<!-- Import The jQuery Script -->
<script type="text/javascript" src="/js/jMenu.js"></script> "

Все! Первый скрипт не работает!
Пожалуйста, подскажите, можно ли это исправить! Спасибо!
Ответ: art21,
ваша картинка закрыта от клика лежащим на ней элементом . дело в css а не в скриптах, хотя желательно ключи ставить в кавычки
"show_title":false,
			"overlay_gallery": false
Вопрос: Передача значения в скрипт из поля input

Здравствуйте, я в javascript совсем не силен мягко говоря, но вот возникла такая необходимость переработать скрипт проверки занятости доменов под jquery. он передает значения в php, a от туда уже берется результат. Исходный скрипт работает.
Исходник скрипта
var xmlHttps
function ShowDom(domain,zona)
{ 
xmlHttps=GetXmlHttpObject();
if (xmlHttps==null)
 {
 alert ("Browser does not support HTTP Request");
 return;
 }
if (domain==null)
 {
 alert ("Нет указан домен!");
 return;
 } 
if (domain=='')
 {
 alert ("Нет указан домен!");
 return;
 } 
var domname = domain + "." + zona;
var url="gets.php?domain="+domname;
url=url+"&sid="+Math.random();
xmlHttps.onreadystatechange=stateChanged ;
xmlHttps.open("GET",url,true);
xmlHttps.send(null);
}

function stateChanged() 
{ 
if (xmlHttps.readyState==4 || xmlHttps.readyState=="complete")
 { 
 document.getElementById("txtHint").innerHTML=xmlHttps.responseText; 
 }
 else
 {
 document.getElementById("txtHint").innerHTML='<div id="txtHint"><table border="0" height="100%" width="100%"  align="center"><tr align="center" valign="middle"><td width="100%" align="center" valign="middle" height="100%"><b>Загрузка информации ...</b>.</td></tr></table></div>';
 } 
}
function GetXmlHttpObject()
{
var xmlHttps=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttps=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttps=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttps=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttps;
}
а вот что получилось у меня
//DOMIAN NAME VALIDATION
  $('#check').click(function(domain,ext){
xmlHttps=GetXmlHttpObject();
		rules: { 
		    domain: { required: true }
			
		}
		
var domname = domain + ext;
var url="whois.php?domain="+domname;
url=url+"&sid="+Math.random();
xmlHttps.onreadystatechange = function stateChanged() 
{ 
if (xmlHttps.readyState==4 || xmlHttps.readyState=="complete")
 { 
 document.getElementById("txtHint").innerHTML=xmlHttps.responseText; 
 }
 else
 {
 document.getElementById("txtHint").innerHTML='<div id="txtHint"><div class="dt-sc-info-box"><p>Загрузка информации ...</p></div></div>';

 } 
}
xmlHttps.open("GET",url,true);
xmlHttps.send(null);  
  })

function GetXmlHttpObject()
{
var xmlHttps=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttps=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttps=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttps=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttps;
}
и вот такая форма:
<form class="search-form domain-search" name="frmDomainSearch" novalidate="novalidate" id="frmDomainSearch">
                                	<div class="dt-sc-three-fifth column first">
                                    	<input type="text" placeholder="В поисках доменного имени?" value="" name="domain" id="domain">
                                    </div>
                                    <div class="dt-sc-one-fifth column">
                                    	<span class="selection-box"><select class="domains valid" name="domains" id="ext">
                                        	
<option selected="selected">.ru</option>
<option>.su</option>
<option>.com</option>
<option>.org</option>
</select></span>
                                    </div>
                                    <div class="dt-sc-one-fifth column">
                                    	<input type="button" id="check" class="dt-sc-button medium" name="domains_ok" value="Проверить"></form>
Внимание вопрос, где я накосячил, что при нажатии кнопки я получаю результат: [object Object]undefined.
Если я меняю
var domname = domain + "#ext";
получаю: [object Object]
а если
var domname = "#domain" + "#ext";

То со мной начинает разговаривать php и выдает осмысленную фразу:Проверьте правильность введенных данных!
и сам php скрипт:
<?php 
class whois {

var $port = 43;
var $MAXLEN = 1024;

// Тип запроса
var $QUERY_TYPE = "domain";     
var $DEFAULT_SERVER = "whois.crsnic.net";

//Настрока повторных попыток
var $MAX_RETRIES = 3;
var $SLEEP_VAL = 1;
var $RETRY = 0;

var $FOUND = 0; // устанавливается в 0 если запись не найдена
var $ERROR = 0; // устанавливает признак ошибки
var $DATA_MIN = 8; //минимум данных свидетельствующих о том что сервер работает

var $DATA_COUNT = 0;

//Переменные. берутся из запроса
var $ORGANIZATION;
var $ORG_HANDLE;
var $ORG_ADDRESS;       // массив
var $DOMAIN_NAME;
var $DOMAIN_STATUS;     
var $ADMIN;             // массив: "name", "nic" и "email"
var $TECH;              // массив: "name", "nic" и "email"
var $ZONE;              // массив: "name", "nic" и "email"
var $BILLING;
var $UPDATED;
var $CREATED;           
var $DNS_NAME=array();          // массив с именами DNS серверов
var $HANDLES;           

var $IP="";
//список серверов по зонам
var $SERVER = array(
"com"=>"whois.crsnic.net",
"net"=>"whois.crsnic.net",
"edu"=>"whois.educause.net",
var $TLD;
var $RAWINFO;
var $DNSINFO;
//обращение к WHOIS серверу
function connect ($server)
{
 while($this->RETRY <= $this->MAX_RETRIES)
 {
  $ptr=fsockopen($server, $this->port); 
  if($ptr>0)
  {
   $this->ERROR=0;
   return($ptr);
  }else
   {
    $this->ERROR++;
    $this->RETRY++;
    sleep($this->SLEEP_VAL);
   }
 }
}

//Получает данные и загружает их в массив
function rawlookup ($query)
{
 $array=array();
 $this->FOUND=1;
 $query=strtolower(trim($query));
 if(strlen($query)<=2)
 {
  $this->ERROR=1;
  return($array);
 }
 //устанавливаем сервер по умолчанию
 $server=$this->DEFAULT_SERVER;
 //пытаемся переназначить его
 if($this->QUERY_TYPE=="domain")
 {
  ereg(".+\.(.+)\.{0,1}",$query,$backrefs);
  if(isset($backrefs[1]) && strlen($backrefs[1])>0 && isset($this->SERVER[$backrefs[1]]))
  {
   $this->TLD=$backrefs[1];
   $server=$this->SERVER[$this->TLD];
  }

 }
 $ptr=$this->connect($server);
 if($ptr)
 {
  $query .= "\n";
  fputs($ptr, $query);
  $i=0;
  while(!feof($ptr))
  {
   $array[$i]=fgets($ptr,$this->MAXLEN);
   $this->DATA_COUNT+=strlen(trim($array[$i]));
   if(eregi("No match for", $array[$i]) || eregi("Not found", $array[$i]) || eregi("No entries found for", $array[$i]))
   {
    $this->FOUND=0;
    break;
   }
   if(eregi("WHOIS database is down",$array[$i]) || eregi("Please wait a while and try again",$array[$i]))
   {
    $this->ERROR=1;
    $this->FOUND=0;
    break;
   }
   $i++;
  }
  fclose($ptr);
  if($this->DATA_COUNT>$this->DATA_MIN && $this->ERROR==0 && $this->FOUND==1)
  {
   return($array);
  }
 }
 //в случае ошибки возвращаем пустой массив
 return (array());
}


// парсинг результатов
function parsezone ($array)
{
 $result=array();
 if(!isset($array) || !is_array($array) || count($array)<=3)
 {
  $this->FOUND=0;
  return $result;
 }
 $cnt=count($array);
 $rescnt=0;
 $i=0;
 $isinfo=true;
 while($i<$cnt)
 {
  if(!$isinfo)
  {
   $str=trim($array[$i]);
   $result[$rescnt]=$str;
   //Извлекаем настройки DNS
   if(eregi("NAME SERVER", $str) || eregi("NSERVER", $str))
   {
    $str=trim(substr($str, strpos($str, ":")+1));
    if($pos=strpos($str, " "))
    {
     $str=substr($str, 0, $pos);
    }
    if(substr($str, -1)==".")
    {
     $str=substr($str, 0, -1);
    }
    $this->DNS_NAME[]=strtolower($str);
   }
   $rescnt++;
  }
  if(trim($array[$i])=="" && $isinfo)
  {
   $isinfo=false;
  }
  $i++;
 }
 return $result;
}

function zonelookup ($query)
{
  $query=trim($query);
  $this->RAWINFO=$this->rawlookup($query);
  if($this->FOUND)
  {
     $this->RAWINFO=$this->parsezone($this->RAWINFO);
  }
  if($this->FOUND==0)
  {
   return;
  }
  if($this->dns_lookup($query))
  {
   $this->IP=gethostbyname($query);
   $this->build_dns($query);
  }
}

function build_dns($query)
{
 $cnt=0;
// $temp=dns_get_record($query, "NS");
 foreach($this->DNS_NAME AS $dns)
 {
  $this->DNSINFO[$cnt]="NS: ".$dns."\tinternet address = ".gethostbyname($dns);
  $cnt++;
 }
 if(getmxrr($query, $temp)) 
 {
  foreach($temp AS $dns)
  {
   $this->DNSINFO[$cnt]="MX: ".$dns."\tinternet address = ".gethostbyname($dns);
   $cnt++;
  }
 }

}
function dns_lookup($query)
{
  return checkdnsrr($query,"ANY");
}


};

if(isset($_GET["domain"]) && strlen($_GET["domain"])>0)
{
 $target=$_GET["domain"];

 $whois=new whois();
 $whois->zonelookup($target);
 if($whois->ERROR==0)
 {
  if(is_array($whois->RAWINFO) && count($whois->RAWINFO)>7 && $whois->FOUND==1)
  {
   echo("<div class='dt-sc-error-box'><p><b>К сожалению домен занят!</b></p></div>");

  }
  else
   {
    echo("<div class='dt-sc-success-box'><p><b>".$target."</b> - <b>Домен свободен</b></p></div><a class='dt-sc-button medium  aligncenter  lightgreen' target='_blank' href='#'>Регистрация</a>");
   }
 }else
  {
   echo("<div class='dt-sc-error-box'><p><b>Ошибка запроса. Попробуйте еще раз!</b></p></div>");
  }
}
else
{
echo("<div class='dt-sc-warning-box'><p><b>Проверьте правильность введенных данных!</b></p></div>");
}
?>

Прошу простить, может быть предоставил много не нужной информации. Помогите пожалуйста.
Ответ: Ура я починил скрипт. Я не совсем идиот, но алерты не работают. Может кто поможет его оптимизировать?
var xmlHttps
	//DOMIAN NAME VALIDATION
  $('#check').click(function(domain,ext){
xmlHttps=GetXmlHttpObject();
if (xmlHttps==null)
 {
 alert ("Browser does not support HTTP Request");
 return;
 }
if (domain==null)
 {
 alert ("Нет указан домен!");
 return;
 } 
if (domain=='')
 {
 alert ("Нет указан домен!");
 return;
 } 
var domain = document.getElementById('domain').value;
var ext = document.getElementById('ext').value;
var domname = domain + ext;
var url="whois.php?domain="+domname;
url=url+"&sid="+Math.random();
xmlHttps.onreadystatechange = function stateChanged() 
{ 
if (xmlHttps.readyState==4 || xmlHttps.readyState=="complete")
 { 
 document.getElementById("txtHint").innerHTML=xmlHttps.responseText; 
 }
 else
 {
 document.getElementById("txtHint").innerHTML='<div id="txtHint"><div class="dt-sc-info-box"><p>Загрузка информации ...</p></div></div>';

 } 
}
xmlHttps.open("GET",url,true);
xmlHttps.send(null);  
  })

function GetXmlHttpObject()
{
var xmlHttps=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttps=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttps=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttps=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttps;
}

Работоспособный вариант. Я больше чем уверен в огромном количестве костылей в скрипте. помогите сделать его элегантнее, пожалуйста. Спасибо. Можно ли валидацию прикрутить как тут:
$('form[name="frmDomainSearch"]').validate({
		rules: { 
		    domain: { required: true }
			
		},
		errorPlacement: function(error, element) { }
	});
?
Вопрос: Редирект скрипт для iOS 9.0+ (возможно нужно использовать AngularJS, jQuery)

Привет всем!

Если кому-то интересна работа, то ниже детали. Если у вас есть знакомый кто мог бы помочь, можете посоветовать?

У нас есть несколько сайтов-партнеров. Хочу с них делать редирект на ссылки от партнерок. Нужен скрипт для редиректа пользователя на определенную ссылку, если он заходит с iOS версии 9.0 и выше.

Мы будем грузить этот скрипт с нашего сервера, то есть для сайта этот скрипт будет располагаться на другом домене. Сейчас наш текущий скрипт просто зависает и-или не выполняется, потому что он с другого домена.

Чтобы редирект на зависал на пустой странице нужно симулировать клик пользователя и уже потом кидать его по ссылке. Пользователь будет "приземляться" в AppStore, без попапов.

Можно использовать любые варианты: JS, DOM, jQuery - все, что угодно. Я читал что с AngularJS можно написать код, который можно подгруживать с другого домена, затем симулировать клик по кнопке и в iframe (или в чем-то похожем) откроется нужная страница куда партнерка поставит куки.

Нужен скрипт который я смогу раздавать с нашего сервера и редиректить всех iOS юзеров на заданные ссылки от партнерки, чтобы успевались создаться их куки. Затем нужно чтобы по одной из ссылок происходил редирект в AppStore.

По оплате - напишите сколько, если вам интересно такое задание. Дальше будет больше работы в этом направлении.

Если эта работа не интересна, но можете помочь советом "в какую сторону копать" , то буду очень рад.
Ответ: Balanaar, спасибо за наводку Буду изучать что это такое, видимо поможет выполнять скрипт. Только вот штука в том что появляется поп-ап при авторедиректе. Когда пальцем нажимаешь на ссылку - то кидает в AppStore без поп-апа. Как то можно симулировать поведение пользователя чтобы кидало в AppStore без поп-апа?
Вопрос: Как передать данные из одинаковых форм php скрипту через AJAX?

Задача следующая:
На странице 50 форм. Все они разные и имеют структуру:
Например форма #1
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<form id="update_goods_info_1" name="update_goods_info_1" method="post" action="" onsubmit="getdetails(1)">
  Кол-во товаров: <input name="inventory" type="text" id="inventory" size="6" maxlength="6" /> 
  <br/>
  Новая цена: <input name="price" type="text" id="price" size="10" maxlength="10" /> 
  <br/>
  Старая цена: 
  <input name="old_price" type="text" id="old_price" size="10" maxlength="10" /> 
  <br/>
  <input type="hidden" name="goods_id" id="goods_id" value="1">
  <div class="results_script_work_1"></div>
  <input value="Обновить" type="submit"> 
</form>
Например форма #2
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<form id="update_goods_info_2" name="update_goods_info_2" method="post" action="" onsubmit="getdetails(2)">
  Кол-во товаров: <input name="inventory" type="text" id="inventory" size="6" maxlength="6" /> 
  <br/>
  Новая цена: <input name="price" type="text" id="price" size="10" maxlength="10" /> 
  <br/>
  Старая цена: 
  <input name="old_price" type="text" id="old_price" size="10" maxlength="10" /> 
  <br/>
  <input type="hidden" name="goods_id" id="goods_id" value="2">
  <div class="results_script_work_2"></div>
  <input value="Обновить" type="submit"> 
</form>
На странице подключена библиотека: jquery-1.11.1.min.js

Есть php скрипт, который должен обработать передаваемые данные, пусть скрипт называется update.php

В скрипте мне надо получить данные, которые будут передаваться через форму. У каждой формы свой id. Если что его можно передать функции JS.

Мне не хватает функции getdetails() которая будет передавать данные формы php скрипту.

Помогите написать эту функцию.

Как я и сказал, если что у каждой формы можно сделать уникальный id и передать его функции.

Так же результат выполнения скрипта выводить рядом с каждой формой. Если что <div class="results_script_work_2"></div> у каждой формы уникальный.

Что я предлагаю: надо передать функции JS getdetails() этот префикс, который делает каждую форму уникальной, и в зависимости от этого префикса обработать и передать данные именно этой формы и изменить значение div class="results_script_work_2 именно у нужной формы. Помогите написать функцию getdetails(), чтобы данные формы которые отправляется были доступны в POST массиве в скрипте update.php

Спасибо
Ответ:
Сообщение от picusus
Надо изучать JQuery и AJAX.(
да там учить нечего. Возьми просто потренируйся на простеньких хелловордах.
Сообщение от picusus
Через alert выдаётся Internal Server Error
Это ошибка в твоем PHP-скрипте или что там у тебя обрабатывает запрос (url: 'php/process.php')
Сообщение от picusus
Несколько вопросов, не обязательно указывать id формы?
В данном случае - нет, т.к. находясь в обработчике $('form').submit(function (e) { ... } у тебя уже есть доступ именно к той форме, на которой сработал сабмит
Сообщение от picusus
Метод который вызывает по действию на кнопке onsubmit?
$('form').submit(function (e) { ... }
Сообщение от picusus
Как узнаётся что вызываться должна именно это функция?
Какая функция?
Сообщение от picusus
Каким способом передавать данные тоже не обязательно?
GET или POST? Способ передачи ты переопределяешь в jQuery:
type: 'post'
поэтому монописуарно, что ты укажешь в теге <form>
Вопрос: Конфликт двух скриптов!

Дорогие профессионалы! Помогите, пожалуйста поставить 2 скрипта на страницу. Дело в том, что оба скрипта работают по одиночке. Но когда ставлю оба - работает только один. Не могу настроить. Извините, я самоучка, и не могу сам писать скрипты...

Вот страница, с одним скриптом в хедере - . Если прописываю другой скрипт ("аккордеон" - пример скрипта здесь - ) - первый скрипт перестает работать.

Вот фрагмент из header.tpl, где прописываю ссылки на первый скрипт:
HTML5
1
2
3
4
5
6
7
<script type="text/javascript" src="/js/jquery.js"></script>
    <script type="text/javascript" src="/js/menu.js"></script>
    <script src="/js/jquery-1.6.3.min.js" type="text/javascript"></script>
    <script type="text/javascript" src="/js/jquery.easing.1.3.js"></script>
    <script type="text/javascript" src="/js/tms-0.3.js"></script>
    <script type="text/javascript" src="/js/tms_presets.js"></script>
    <script type="text/javascript" src="/js/script.js"></script>
Для второго скрипта дописываю ещё следующее:
HTML5
1
2
3
4
5
6
<!-- Add jQuery From the Google AJAX Libraries --> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script> 
    <!-- jQuery Color Plugin --> 
    <script type="text/javascript" src="/js/jquery.color.js"></script> 
    <!-- Import The jQuery Script --> 
    <script type="text/javascript" src="/js/jMenu.js"></script>
Все! Первый скрипт не работает!
Пожалуйста, подскажите, можно ли это исправить! Спасибо!
Ответ: Всем доброго времени суток!
Не стал создавать новую тему, чтобы не засорять форум, мой вопрос похожий.
Просьба не смеяться, только начинаю изучать скрипты.
У меня тоже есть два скрипта, первый левое меню навигации, прописан в head, вот он:

<script type="text/javascript" src="mootools.js"></script>
<script type="text/javascript">
window.addEvent('domready', function(){
var accordion = new Accordion('h3.menusection', 'ul.menusection', {
opacity: false,
onActive: function(toggler, element){
toggler.setStyle('color', '#333333');
toggler.setStyle('background', '#F7F1E5');
},
onBackground: function(toggler, element){
toggler.setStyle('color', '#333');
toggler.setStyle('background', '#E8D7B7');
}
}, $('menu'));
});
</script>

второй рекламный блок прописан в body, вот он

<script type="text/javascript">
(function(){
var spUser = 30472;
var spSub = 0;
var spPType = 1;
var spCode = document.charset || document.characterSet;
var spGa = document.createElement("script");
spGa.type = "text/javascript";
spGa.async = true;
spGa.src = "http://wsfeed1.ru/code.php?userid=" + spUser + "&subid=" + spSub + "&code=" + spCode + "&ptype=" + spPType;
var spS = document.getElementsByTagName("script")[0];
spS.parentNode.insertBefore(spGa, spS);})();
</script>
<div class="feedSlider" data-theme="movies" data-position="h" data-visible="6" data-posterwidth="150" data-genre="-10" data-access="0" data-link="32" data-istitle="1"></div>

Можно ли их заставить работать совместно, заранее спасибо за ответы!