2013-04-25 2 views

ответ

2

Это очень распространенная проблема; См. "Choosing and activating the right controls on an AJAX-driven site" для получения более подробной информации о том, как решить эту проблему.

Учитывая этот рецепт, единственная часть искусства/умения/трудности выбирает правильный селектор (ы) jQuery. В этом случае «Показать больше» ссылка может быть надежно было с:

#synopsis div.copy a.show-more-truncate 


Таким образом, полный рабочий сценарий будет:

// ==UserScript== 
// @name  _BBC episode, click "Show More" link 
// @include http://www.bbc.co.uk/programmes/* 
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js 
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js 
// @grant GM_addStyle 
// ==/UserScript== 
/*- The @grant directive is needed to work around a design change 
    introduced in GM 1.0. It restores the sandbox. 
*/ 

waitForKeyElements (
    "#synopsis div.copy a.show-more-truncate", clickShowMoreLink, true 
); 

function clickShowMoreLink (jNode) { 
    var clickEvent = document.createEvent('MouseEvents'); 
    clickEvent.initEvent ("click", true, true); 
    jNode[0].dispatchEvent (clickEvent); 
} 
+0

Брок, Это было прекрасно. Спасибо за все детали. Любите свой waitForKeyElements. –

+0

Добро пожаловать; рад помочь. –

+0

Вопрос был отвечен таким образом, чтобы решить мою проблему. Я не понимаю, как это было сделано, если оно было неопределенным и т. Д. :-) –

Смежные вопросы