Ответ 1
Нет, они совсем не то же самое; они делают совершенно разные вещи.
-
html5shiv позволяет использовать новые теги HTML5 в версиях IE, которые их не понимают. Без него IE задушит эти теги, поэтому вам понадобится это, если вы намереваетесь использовать теги. Не ожидайте, что это сделает теги фактически что-то в IE! Это просто перестает жаловаться на них.
-
modernizr задает кучу классов в вашем HTML, в зависимости от доступных функций, которые вы можете использовать для изменения макета в соответствии с тем, что поддерживает браузер. Он также позволяет вам использовать новые теги HTML5 в IE, например html5shiv.
-
ie7.js (а также
ie8.js
иie9.js
) использует Javascript для ретро-установки некоторых недостающих функциональных возможностей для IE.
Насколько мне известно, между ними нет перекрестных связей (помимо html5shiv/modernizr), поэтому вы можете использовать любую их комбинацию в зависимости от того, какие функции вам нужно реализовать.
Пока я нахожусь в этом вопросе, и поскольку вы спрашиваете о том, как сделать IE более совместимым с другими браузерами, я предлагаю вам также взглянуть на CSS3Pie, что сделает вашу жизнь намного счастливее, если вы планируете использовать закругленные углы на своем сайте (плюс одна или две другие функции).
Это также не имеет никакого отношения к другим трем продуктам, о которых вы упомянули, хотя все они направлены на то, чтобы упростить работу с старыми версиями IE.