Hello
As I mentioned earlier, you'd need javascript to manipulate the specific behaviour consistently.
Here's a recipe you might try if you really want to, provided that you're using Firefox. Install Greasemonkey add-on [1] and create a user script with the content as listed below, which will do -
a) disable jquery animation in page scrolling; and,
b) initially show all replies and hide promoted helpful and/or recommended replies; and,
c) hide rolled-up solved or recommended answer in original post in page 2 or later.
[1] https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/
// ==UserScript==
// @name ASC thread content view
// @namespace bubo-bubo/gmscripts
// @description ASC - disable jquery animation, initially show all replies, hide rollup solved answer in page 2 or later.
// @grant unsafeWindow
// @run-at document-end
// @include https://discussions.apple.com/*
// @include https://discussionsjapan.apple.com/*
// @include https://discussionskorea.apple.com/*
// @include https://discussionschinese.apple.com/*
// @include https://communities.apple.com/*
// @version 0.1.0
// ==/UserScript==
var $ = unsafeWindow.jQuery;
var watchdog1, watchdog2;
var watch_interval = 250; // [ms]
var re_thread = new RegExp('^https://[^/]+/thread/');
var re_thread_or_message = new RegExp('^https://[^/]+/(thread|message)/');
// disable jquery animation (globally)
$.fx.off = true;
// modify thread content view behaviour (in post-load phase)
window.onload = function() {
// register event listeners
window.addEventListener('unload', function(e) {
// console.log('unload is observed');
stop_watchdog(watchdog1);
stop_watchdog(watchdog2);
window.removeEventListener('_locationchange', _locationchange_handler, true);
window.removeEventListener(e.type, arguments.callee, true);
}, true);
window.addEventListener('_locationchange', _locationchange_handler, true);
function _locationchange_handler(e) {
// console.log('_locationchange is observed');
var href = window.location.href;
if ( href.match(re_thread) ) {
setTimeout(show_all_replies, 100);
}
if ( href.match(re_thread_or_message) ) {
setTimeout(hide_solved_p2, 100);
}
}
// _locationchange watch dog
var prev_href = '';
watchdog1 = setInterval( function() {
// watch for location to change
var curr_href = window.location.href;
if (curr_href != prev_href) {
// console.log('_locationchange is issued');
window.dispatchEvent(new Event('_locationchange'));
prev_href = curr_href;
}
}, watch_interval);
};
function show_all_replies() {
window.addEventListener('_helpfuldisplay', function(e) {
// console.log('_helpfuldisplay is observed');
$('.helpful-all-switch li.helpful').addClass('inactive').removeClass('active').hide();
$('.helpful-all-switch li.all-replies').addClass('active').removeClass('inactive').show();
$('#helpful-container').hide();
$('.all-replies-container').show();
window.removeEventListener(e.type, arguments.callee, true);
}, true);
watchdog2 = setInterval( function() {
// watch for helpful container to appear
// console.log('watchdog is active : ' + watchdog2);
if ($('#helpful-container').css('display') != 'none') {
// console.log('_helpfuldisplay is issued');
window.dispatchEvent(new Event('_helpfuldisplay'));
stop_watchdog(watchdog2);
}
}, watch_interval);
setTimeout(stop_watchdog, 3000, watchdog2);
}
function hide_solved_p2() {
var u = window.location.href;
var re = /[?&]start=([0-9]+)/;
var m = re.exec(u);
var p = m ? m[1] : 0;
// console.log('current start post numebr = ' + p);
var div = $('.j-answer-rollup.recommended-answers.span-full-width');
if (!div) { return; }
p > 0 ? div.hide() : div.show();
}
function stop_watchdog(dog) {
clearInterval(dog);
// console.log('watchdog is inactive : ' + dog);
}
Briefly tested with Firefox 45.2.0esr and Greasemonkey 3.8 under OS X 10.6.8 but no warranties. Please try this at your own risk.
Good luck,
H