support document, documentElement, window