В настоящее время я использую Express JS, и у меня есть процесс, который открывает Phamton JS, а затем делает снимок экрана страницы.Мне нужно иметь возможность установить переменную, которая будет читаться из Phamtom JS.Вот полный вызов.
Это часть js-кода моего сервера:
var express = require('express');
var app = express();
app.use( bodyParser.urlencoded() );
// your express configuration here
var httpServer = http.createServer(app);
// For http
httpServer.listen(8080);
app.post('/', function (req, res) {
console.log(req.body);
var firstLine = req.body.firstLine;
var secondLine = req.body.secondLine;
var previewID = req.body.previewId;
var productPlate = req.body.prodName;
res.header('Access-Control-Allow-Origin', 'https://example.com');
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT');
res.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type');
takeWebshot(firstLine, secondLine, previewID, productPlate)
res.end()
});
takeWebshot()
- это функция для запуска node-webshot.В документации по node-webshot говорится, что я могу передавать фантомные обратные вызовы js и что они будут сериализованы.Вот код для этого:
function takeWebshot(fLine, sLine, pID, prodPlate) {
var options = {
onLoadFinished: {
fn: function() {
document.getElementById("user_input").value=this.fLineSnapshot;
document.getElementById("second_user_input").value=this.sLineSnapshot;
document.getElementById("preview_btn").click();
},
context: {
fLineSnapshot: fLine,
sLineSnapshot: sLine,
}
},
takeShotOnCallback: true,
captureSelector: '#img_preview_fancybox'
};
Затем создается экземпляр веб-снимка:
webshot(exxample.com/testy.html', '../screenshot/' + pID +'.png', options, function(err) {
if (err) return console.log(err);
console.log('OK');
});
Моя задача состоит в том, что в testy.html есть переменная, которая должна быть динамическизадавать.Я попытался передать эту переменную, вставив onLoadFinished так:
onLoadFinished: {
fn: function() {
var productName = 'Delaware Plate Hat';
Здесь я добавил ее, чтобы она передавалась в фантомный обратный вызов, но это не работает.Любые идеи, как я могу передать эту переменную JS?