Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中动态更改参数_Javascript - Fatal编程技术网

如何在javascript中动态更改参数

如何在javascript中动态更改参数,javascript,Javascript,我想根据条件动态更改javascript中的title参数。此脚本在多个页面中作为通用脚本使用。所以,每当我使用这个脚本时,我都需要根据条件附加新的标题。我用粗体突出显示了标题 我怎么能做到这一点。在下面的示例中,注销是我的标题 var t = setTimeout("javascript:OpenLogoffDialog('/RPS/Common/TimeOut.aspx', 380, 160, 'Logging out...', false, false);", 180000); // 17

我想根据条件动态更改javascript中的title参数。此脚本在多个页面中作为通用脚本使用。所以,每当我使用这个脚本时,我都需要根据条件附加新的标题。我用粗体突出显示了标题

我怎么能做到这一点。在下面的示例中,注销是我的标题

var t = setTimeout("javascript:OpenLogoffDialog('/RPS/Common/TimeOut.aspx', 380, 160, 'Logging out...', false, false);", 180000); // 17 min

我认为像这样以标题DOM节点为目标会更容易:

var title = document.getElementsByTagName('title')[0];
title.textContent = 'Your new title';

您必须在某些浏览器中使用
innerText
,但我认为这可能是一种更简单的方法。

您可以在一些上下文变量的范围内使用函数包装调用,然后手动调用
OpenLogoffDialog

(function () {
    //obviously not all of these are necessary...
    var page = '/RPS/Common/TimeOut.aspx';
    var width = 380;
    var height = 160;
    var title = "Logging out...";
    var param1 = false;
    var param2 = false;

    //code...


    var t = setTimeout(function () {
        OpenLogoffDialog(page, width, height, title, param1, param2);
    }, 180000);

    //more stuff...


})()

现在,您可以根据需要在IIFE范围内更改这些变量,
OpenLogoffDialog
函数将被调用,无论它们设置为什么。

您是指HTML页面的
title
?是的,它的asp.net页面,但此脚本会打开页面的对话框
var myTitle;

if(userIsLogginOut == true){
    myTitle = 'Logging Out...';
}else{
    myTitle = 'Other Title';
}

var t = setTimeout(function(){
    OpenLogoffDialog('/RPS/Common/TimeOut.aspx', 380, 160, myTitle, false, false);
}, 180000);