Что лучший перекрестный браузер путь состоит в том, чтобы обнаружить scrollTop окна браузера? Я предпочитаю не пользоваться любыми предварительно созданными библиотеками кода, потому что это - очень простой сценарий, и мне не нужна вся та полная грузоподъемность судна.
Проблема была на самом деле конкретным яблоком и является известной проблемой с Ubuntu на MacBook.
Вот ресурс о том, как решить большинство проблем с под управлением Ubuntu на MacBook
Обходное решение для проблемы подсветки также там:
Взгляд на комментарий 78 этого отчета об ошибках
Patrik Jakobsson записал модуль ядра, который непосредственно программирует драйвер подсветки, и он работает!
Если Вы не хотите компилировать собой, выполните эти шаги.
Основы Сборки установки и заголовки
sudo apt-get install build-essential linux-headers-generic
Загрузите mba6xbl-dkms_0.0.3_all.deb и установите его с
sudo dpkg -i mba6xbl-dkms_0.0.3_all.deb Note: Repeat this installation step each time you kernel gets updated.
Загрузите модуль:
sudo modprobe mba6x_bl
- Выйдите из системы и войдите в. Это должно загрузиться автоматически на следующей начальной загрузке
Я не рекомендую загрузить (mba6xbl-dkms_0.0.3_all.deb), потому что он лично не работал на меня, попробуйте более новую версию: mba6xbl-dkms_1.0.0_all.deb
Если Вы не хотите включать целую библиотеку JavaScript, можно часто извлекать биты, которые Вы хотите от одного.
Например, это по существу, как jQuery реализует прокрутку перекрестного браузера (Top|Left):
function getScroll(method, element) {
// The passed in `method` value should be 'Top' or 'Left'
method = 'scroll' + method;
return (element == window || element == document) ? (
self[(method == 'scrollTop') ? 'pageYOffset' : 'pageXOffset'] ||
(browserSupportsBoxModel && document.documentElement[method]) ||
document.body[method]
) : element[method];
}
getScroll('Top', element);
getScroll('Left', element);
Примечание: Вы заметите, что вышеупомянутый код содержит a browserSupportsBoxModel
переменная, которая является неопределенной. jQuery определяет это путем временного добавления отделения к странице и затем измерения некоторых атрибутов, чтобы определить, реализует ли браузер правильно модель поля. Поскольку можно вообразить этот флаг проверками на IE. А именно, это проверяет на IE 6 или 7 в режиме причуд. Так как обнаружение довольно сложно, я оставил его как осуществление для Вас ;-), предположив, что Вы уже использовали браузер функция обнаружение в другом месте в Вашем коде.
Править: Если Вы уже не предположили, я настоятельно рекомендую, чтобы Вы пользовались библиотекой для этих видов вещей. Издержки являются маленькой ценой для оплаты за устойчивый и соответствующий требованиям завтрашнего дня код, и любой был бы намного более продуктивным с платформой перекрестного браузера для здания. (В противоположность пребыванию в течение бесчисленных часов, ударяя Вашей головой о IE).
Я думаю, что Вы сделали USB загрузочным использованием Создатель LiveUSB или Rufus. Если так, Ваш USB является загрузочным.
Ваш USB не загружается при перезапуске компьютера, потому что Карта памяти будет ниже жесткого диска в порядке загрузки. Так Ваш, жесткий диск на самом деле загружается сначала, и Вы не можете загрузиться от USB.
Поэтому, когда Ваш компьютер преуспевает, на самом деле на первом экране начальной загрузки, нажатие (F8, F10, F12..). Любой эти ключи посадит Вас на странице меню начальной загрузки и выберет Вашу Карту памяти с помощью клавиш со стрелками и затем нажмет Enter.
Вы могли изменить порядок загрузки постоянно путем нажатия клавиши, требуемой для приземления Вас к опциям BIOS. Это мог бы быть F2.
Для получения ключа относительно меню начальной загрузки, Вы могли искать свою аппаратную страницу (Motherboard) в сети.
find
хороший способ найти файлы в подкаталогах, и с -exec
опция, это возможно к командам выполнения с параметрами {}
. Каждый файл, найденный find
, будет заменять spaceholder {}
, таким образом, в Вашем случае sha256sum
будет работать над каждым из файлов один за другим.
– sudodus
9 November 2018 в 11:53
Никакая потребность дополнительная библиотека, используйте этот отрывок:
const scrollTop =
(window.pageYOffset !== undefined) ?
window.pageYOffset :
(document.documentElement || document.body.parentNode || document.body).scrollTop;
Я полагаю, что лучший способ получить scrollTop в современных браузерах состоит в том, чтобы использовать
const scrollTop = document.scrollingElement.scrollTop
, если это не работает, Вы могли бы также попробовать
const scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop, document.scrollingElement.scrollTop)
Это работает хорошо от IE5 до IE11. Это также поддерживает все главные новые браузеры.
var scrollTop = (document.documentElement && document.documentElement.scrollTop) ||
(document.body.scrollTop) || (document.scrollingElement);
Я использовал window.scrollY || document.documentElement.scrollTop
.
window.scrollY
покрытия все браузеры кроме IES.
document.documentElement.scrollTop
покрытия IE.
Я знаю его долгое время, так как этот поток был обновлен, но это - функция, которую я создал, который позволяет разработчикам находить корневой элемент, который на самом деле размещает, имеет работу "scrollTop" свойство. Протестированный на Chrome 42 и Firefox 37 для Mac OS X (10.9.5):
function getScrollRoot(){
var html = document.documentElement, body = document.body,
cacheTop = ((typeof window.pageYOffset !== "undefined") ? window.pageYOffset : null) || body.scrollTop || html.scrollTop, // cache the window's current scroll position
root;
html.scrollTop = body.scrollTop = cacheTop + (cacheTop > 0) ? -1 : 1;
// find root by checking which scrollTop has a value larger than the cache.
root = (html.scrollTop !== cacheTop) ? html : body;
root.scrollTop = cacheTop; // restore the window's scroll position to cached value
return root; // return the scrolling root element
}
// USAGE: when page is ready: create a global variable that calls this function.
var scrollRoot = getScrollRoot();
scrollRoot.scrollTop = 10; // set the scroll position to 10 pixels from the top
scrollRoot.scrollTop = 0; // set the scroll position to the top of the window
я надеюсь, что Вы находите это полезным! Аплодисменты.
function getSize(method) {
return document.documentElement[method] || document.body[method];
}
getSize("scrollTop");
Или просто простой как:
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
YUI 2.8.1 код делает это:
function getDocumentScrollTop(doc)
{
doc = doc || document;
//doc.body.scrollTop is IE quirkmode only
return Math.max(doc.documentElement.scrollTop, doc.body.scrollTop);
}
я думаю jQuery 1.4.2 код (немного переведенный для людей) и предположение, что я понял, что он правильно делает это:
function getDocumentScrollTop(doc)
{
doc = doc || document;
win = doc.defaultView || doc.parentWindow; //parentWindow is for IE < 9
result = 0;
if("pageYOffset" in win) //I'don't know why they use this, probably they tested it to be faster than doing: if(typeof win.pageYOffset !== 'undefined')
result = win.pageYOffset;
else
result = (jQuery.support.boxModel && document.documentElement.scrollTop) ||
document.body.scrollTop;
return result;
}
Unfortunatley, извлекающий значение jQuery.support.boxModel
, почти невозможен, потому что необходимо было бы добавить временный дочерний элемент в документ и сделать те же тесты, которые делает jQuery.