Вот решение с jQuery, которое работает как шарм. Он проверяет, больше ли высота окна больше высоты тела. Если это так, то он меняет верхний край нижнего колонтитула для компенсации. Тестирование в Firefox, Chrome, Safari и Opera.
$( function () {
var height_diff = $( window ).height() - $( 'body' ).height();
if ( height_diff > 0 ) {
$( '#footer' ).css( 'margin-top', height_diff );
}
});
Если ваш нижний колонтитул уже имеет верхний край (например, 50 пикселей), вам нужно будет изменить последнюю часть для:
css( 'margin-top', height_diff + 50 )
Я знаю, что уже поздно отвечать, но я думаю, что мой ответ поможет некоторым посетителям.
В Node.js
вы можете легко получить текущее имя запущенного файла и его каталог, просто используя переменные __filename
и __dirname
соответственно.
Для того, чтобы исправить прямую и обратную косую черту в соответствии с вашей системой, вы можете использовать модуль path
из Node.js
var path = require('path');
Как здесь - путанный путь, и я хочу, чтобы он был правильным, если Я хочу использовать его на моем сервере. Здесь модуль path
сделает все за вас
var randomPath = "desktop // my folder / \ myfile.txt";
var correctedPath = path.normalize(randomPath); //that's that
console.log(correctedPath);
desktop/my folder/myfile.txt
Если вам нужен абсолютный путь к файлу, вы также можете использовать функцию resolve
модуля path
var somePath = "./img.jpg";
var resolvedPath = path.resolve(somePath);
console.log(resolvedPath);
/Users/vikasbansal/Desktop/temp/img.jpg
Я рекомендую против этого, так как это исправление самого узла, но ... ну, никаких изменений в том, как вам требуются вещи.
(function() {
"use strict";
var path = require('path');
var oldRequire = require;
require = function(module) {
var fixedModule = path.join.apply(path, module.split(/\/|\\/));
oldRequire(fixedModule);
}
})();
Я наконец сделал это так:
var slash = require('slash');
var dirname = __dirname;
if (process.platform === 'win32') dirname = slash(dirname);
global.__base = dirname + '/';
А потом потребовать var Article = require(__base + 'app/models/article');
. При этом используется косая черта пакета npm (которая заменяет обратную косую черту на косую черту в путях и обрабатывает еще несколько случаев)