Доброго времени суток. Очень нужна ваша помощь.
Весь интернет перечитал, так разобраться и не смог
смысл такой:
Нужно при добавлении нового материала некоторые формы заполнялись автоматически, а именно, должно быть окошко куда вставляется ссылка на сайт киноньюс.ру, при нажатие кнопки скрипт должен вытащить с этой страницы "режесер", "актеры", "ссылку на картинку с рэйтингом" и вставить в форму добавления материала
очень долго искал в интернете и узнал что обычный яваскрипт не даст сделать запрос на другой домен, но есть один путь, плагин к jquery jquery.xdomainajax
вот его код
/**
* jQuery.ajax mid - CROSS DOMAIN AJAX
* ---
* @author James Padolsey ([url]http://james.padolsey.com[/url])
* @version 0.11
* @updated 12-JAN-10
* ---
* Note: Read the README!
* ---
* @info [url]http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/[/url]
*/
jQuery.ajax = (function(_ajax){
var protocol = location.protocol,
hostname = location.hostname,
exRegex = RegExp(protocol + '//' + hostname),
YQL = 'http' + (/^https/.test(protocol)?'s':'') + '://query.yahooapis.com/v1/public/yql?callback=?',
query = 'select * from html where url="{URL}" and xpath="*"';
function isExternal(url) {
return !exRegex.test(url) && /:\/\//.test(url);
}
return function(o) {
var url = o.url;
if ( /get/i.test(o.type) && !/json/i.test(o.dataType) && isExternal(url) ) {
// Manipulate options so that JSONP-x request is made to YQL
o.url = YQL;
o.dataType = 'json';
o.data = {
q: query.replace(
'{URL}',
url + (o.data ?
(/\?/.test(url) ? '&' : '?') + jQuery.param(o.data)
: '')
),
format: 'xml'
};
// Since it's a JSONP request
// complete === success
if (!o.success && o.complete) {
o.success = o.complete;
delete o.complete;
}
o.success = (function(_success){
return function(data) {
if (_success) {
// Fake XHR callback.
_success.call(this, {
responseText: data.results[0]
// YQL screws with <script>s
// Get rid of them
.replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, '')
}, 'success');
}
};
})(o.success);
}
return _ajax.apply(this, arguments);
};
})(jQuery.ajax);
запрос создается типа того :
<!—вставляет jQuery, cross-domain-ajax плагин и наш скрипт -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.xdomainajax.js"></script>
<script type="text/javascript" src="js/main.js"></script>
$(document).ready(function() {
$.get('http://snipplr.com/all/language/jquery', function(res) { // получение html-кода этого сайта $(res.responseText).find('.snippets li h3').each(function() { // циклически вырезаются все H3 заголовки var anchor = $(this).children('a:last'); // получение последней ссылки внутри текста
jQuery('<li/>', { // создаем LI
html: jQuery('<a/>', { // с A внутри
href: 'http://snipplr.com' + anchor.attr('href'), // указываем href для ссылки
text: anchor.text() // и текст
})
}).appendTo($('#jquery_snippets')); // добавляем к списку
});
$('#jquery_snippets li:first').remove(); // удаляем первый LI (“Loading...”) после завершения
});
});
я со скриптами не очень дружу, но как то справлялся, с этим я вообще в тупик зашел((( Заранее спасибо за помощь