Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.07.2013, 11:37
Новичок на форуме
Отправить личное сообщение для arren007 Посмотреть профиль Найти все сообщения от arren007
 
Регистрация: 04.07.2013
Сообщений: 6

Скрипт CallMe и Internet Explorer
Добрый день. Решила добавить на сайт скрипт заказа обратного звонка. В общем, он работает на всех браузерах, кроме Internet Explorer - после загрузки страницы появляется сообщение Не удалось открыть узел, операция прервана и страница закрывается. Оказалось, в своих бедах я не одинока. Все дело в том, что IE очень не любит JS-скрипты. Помогите, пожалуйста, внести соответствующие исправления. Выходной материал или все, что может понадобиться))
callme.js

var st = document.createElement("link");
st.setAttribute("rel","stylesheet");
st.setAttribute("href","/callme/callme.css");
document.body.appendChild(st);

$(function(){
$("#viewform").click(function(){
        $("#callmeform").slideToggle("slow");
    });

$("#viewform").hover(
  function () {
    $(this).addClass("callmeform_hover");
  },
  function () {
    $(this).removeClass("callmeform_hover");
  }
);

});

function show()
{
     $.ajax({
       type: "GET",
       url: "/callme/index.php",
       data: {cphone: $("#cphone").val(), cname: $("#cname").val()},
       success: function(html){
           $("#callme_result").html(html);
           setTimeout( function(){ $("#callme_result").slideToggle("slow"); }, 3000);
       }
     });
}

$(document).ready(function(){
    $(".callme_submit").click(function(){
        show();
    });
});


footer.php

<script type="text/javascript" language="JavaScript" src="/callme/callme.js"></script>
<div id="callme"><input type="button" id="viewform" /></div>
<div id="callmeform" class="hide-on"><h6>Замовити дзвінок</h6>
<table cellpadding="0" cellspacing="0">
<tr><td colspan="2" style="color:#3f1642;">Ім’я</td></tr>
<tr><td colspan="2"><input class="text" type="text" maxlength="45" style="width: 240px;" id="cname" /></td></tr>
<tr><td colspan="2" style="color:#3f1642;">Телефон</td></tr>
<tr><td colspan="2"><input class="text" type="text" maxlength="35" style="width: 240px;" value="+38" id="cphone" /></td></tr>
<tr><td colspan="2"><input type="button" value="Перезвоніть мені" class="callme_submit"></td>
</tr></table>
<div id="callme_result"></div>
</div>


index.php

if( (strlen ($_GET['cname']) > 2) && ($_GET['cphone']) ) {

$title = "Замовити дзвінок";
$mess =  "Телефон:\n-".substr(htmlspecialchars(trim($_GET['cphone'])), 0, 15)."\n\nІм’я:\n".substr(htmlspecialchars(trim($_GET['cname'])), 0, 50);
$headers = "From: ".$from."\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";

@mail($to, $title, $mess, $headers);

echo '<div class="c_success">Дякуємо, Ваше повідомлення надіслано.</div>';
        } else {
echo '<div class="c_error">Помилка: заповніть всі поля.</div>';
}
?>
Ответить с цитированием
  #2 (permalink)  
Старый 04.07.2013, 11:43
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от arren007
Все дело в том, что IE очень не любит JS-скрипты
Неправда. Очень даже любит. Но нужно иногда приправить особыми специями.

Та шляпа, что вверху скрипта - это че ваще такое?
Ответить с цитированием
  #3 (permalink)  
Старый 04.07.2013, 11:48
Новичок на форуме
Отправить личное сообщение для arren007 Посмотреть профиль Найти все сообщения от arren007
 
Регистрация: 04.07.2013
Сообщений: 6

jquery точно не любит. Уточните, какая именно "шляпа"
Ответить с цитированием
  #4 (permalink)  
Старый 04.07.2013, 11:57
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от arren007
jquery точно не любит
Неправда. Если только речь не про IE8 и jQuery 2.0. Если нет, то точно неправда. jQuery очень хорошо работает с IE.

Я про эту шляпу:
Сообщение от arren007
var st = document.createElement("link");
st.setAttribute("rel","stylesheet");
st.setAttribute("href","/callme/callme.css");
document.body.appendChild(st);
Ответить с цитированием
  #5 (permalink)  
Старый 04.07.2013, 12:27
Новичок на форуме
Отправить личное сообщение для arren007 Посмотреть профиль Найти все сообщения от arren007
 
Регистрация: 04.07.2013
Сообщений: 6

Пока искала в нете ответы на мою проблему постоянно попадала на жалобы связанные именно с IE (особенно его 7 версией)

Скрипт не мой, я скачала уже готовый. Работает отлично для всех браузеров, одна проблема с IE
Ответить с цитированием
  #6 (permalink)  
Старый 04.07.2013, 12:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А с какой версией IE проблемы? Точно из-за этого скрипта проблемы? Тут при загрузке только обозначенная мною часть запускается непосредственно. Так что попробуйте добавить ссылку на стили в html, убрав этот код.
Ответить с цитированием
  #7 (permalink)  
Старый 04.07.2013, 12:44
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от arren007
Пока искала в нете ответы на мою проблему постоянно попадала на жалобы связанные именно с IE
Ну это само собой. Погуглите проблему с Operа и будете постоянно попадать на жалобы связанные с Оперой )))
Ответить с цитированием
  #8 (permalink)  
Старый 04.07.2013, 12:59
Новичок на форуме
Отправить личное сообщение для arren007 Посмотреть профиль Найти все сообщения от arren007
 
Регистрация: 04.07.2013
Сообщений: 6

Сообщение от danik.js Посмотреть сообщение
А с какой версией IE проблемы? Точно из-за этого скрипта проблемы? Тут при загрузке только обозначенная мною часть запускается непосредственно. Так что попробуйте добавить ссылку на стили в html, убрав этот код.
Да, из-за скрипта. Без него сайт работает нормально.

Цитата:
Так что попробуйте добавить ссылку на стили в html, убрав этот код.
а можно поконкретнее?

Цитата:
Ну это само собой. Погуглите проблему с Operа и будете постоянно попадать на жалобы связанные с Оперой )))
Я искала не проблемы, связанные с IE, а именно по работе данного скрипта
Ответить с цитированием
  #9 (permalink)  
Старый 04.07.2013, 16:14
Новичок на форуме
Отправить личное сообщение для arren007 Посмотреть профиль Найти все сообщения от arren007
 
Регистрация: 04.07.2013
Сообщений: 6

Дело действительно в шапке

var st = document.createElement("link");
st.setAttribute("rel","stylesheet");
st.setAttribute("href","/callme/callme.css");
document.body.appendChild(st);


Внесла следующие правки и все заработало

window.onload = function() {
var st = document.createElement("link");
st.setAttribute("rel","stylesheet");
st.setAttribute("href","/callme/callme.css");
document.body.appendChild(st);
}
Ответить с цитированием
  #10 (permalink)  
Старый 04.07.2013, 16:27
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А просто вставить в html линк не судьба?
<link rel="stylesheet" href="/callme/callme.css" />
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Internet Explorer 8.0/9.0 Vs1001 Общие вопросы Javascript 8 17.04.2012 17:30
This web site only supports Internet Explorer 6.0 and Internet Explorer 7.0. monolithed Оффтопик 1 22.07.2011 17:54
iframe выделенный текст в internet explorer 8 MaybeMaybe Events/DOM/Window 1 20.04.2011 00:42
Проблема с internet explorer androlic Элементы интерфейса 2 24.03.2011 17:23
Не отрабатывает opener.location.reload() для Internet Explorer nickstarnew Events/DOM/Window 0 06.03.2009 13:20