Ваш вопрос в том, что вы пытаетесь выполнить код внутри страницы, когда загружается другая страница. Вы не можете этого сделать (вы можете сделать это в одностраничных приложениях, но это уже другая история).
В вашем someotherpage.php
вы должны добавить этот код:
$(window).load(function(){
introJs().addStep({
element:$('#ck-dashboard-pending-task')[0],
intro:'Here you can see the todo list',
position:'left'
}).setOption('scrollToElement', true).start();
});
И вы должны удалить эту часть вашего кода на странице: тест вар = «someotherpage.php»;
/* onload of someotherpage.php, execute this introjs step */
$(test).load(function() {
if (window.location.href === test) {
/* unable to execute this */
introJs().addStep({
element: $('#ck-dashboard-pending-task')[0],
intro: 'Here you can see the todo list',
position: 'left'
}).setOption('scrollToElement', true).start();
}
});
EDIT: Как спросил ОП, вот уточнение: В вашей первой странице, вы могли бы сделать что-то вроде этого:
if (something === true) {
/* Redirect to someotherpage.php */
window.location.href = "someotherpage.php?some_condition_you_want_to_check=1"
}
На someotherpage.php
:
$(window).load(function(){
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (results==null){
return null;
}
else{
return results[1] || 0;
}
}
if($.urlParam('some_condition_you_want_to_check') !== null){
introJs().addStep({
element:$('#ck-dashboard-pending-task')[0],
intro:'Here you can see the todo list',
position:'left'
}).setOption('scrollToElement', true).start();
});
}
}
Конечно, моя непроверенная и, безусловно, улучшенная часть кода, но это должно дать вам представление о том, что вам нужно сделать, чтобы достичь того, чего вы хотите ,
После установки 'window.location.href' он прекратит выполнение JS. – George