重定向后,我的JavaScript代码将无法运行

时间:2019-03-03 14:26:51

标签: javascript html css python-3.x electron

我正在使用Electron和Python开发一个简单的应用程序。如果我不重定向到另一个页面,则一切正常,但一旦这样做,我的整个JavaScript代码将无法运行,并且应用程序冻结。

function calculate() {
// If the below line is commented, my code below works, otherwise not. 

    window.location = "resultpage.html";

    var ps = require("python-shell")
    var path = require("path")

    var num1= document.getElementById("num1").value
    var num2 = document.getElementById("num2").value

// Shows calculated result as an alert. 
// FURTHER CODE BELOW //

我希望结果在另一个HTML页面(resultpage.html)中,但它会重定向并且不会生成警报。

2 个答案:

答案 0 :(得分:1)

将页面A(起始页面)重定向到页面B(新页面)后,页面A上的JavaScript将停止运行,页面B将接管。如果要显示计算值作为警报,则该警报将需要在页面重定向之前。重新排序代码,如下所示:

function compute(){ //如果注释了以下行,则下面的代码有效,否则无效。

var ps = require("python-shell")
var path = require("path")

var num1= document.getElementById("num1").value
var num2 = document.getElementById("num2").value

// Shows calculated result as an alert here. 

//redirect after alert
window.location = "resultpage.html";


// FURTHER CODE BELOW //

要注意的另一件事是,页面A上的元素num1和num2将不再位于页面B上。如果要在页面B上运行计算,则需要将该数据作为URL的一部分发送作为参数(如果您希望它可以访问),然后使用正确的值填充页面上的字段,或者更改JavaScript以从参数中读取值。

答案 1 :(得分:0)

重定向用户时,它将不会将上一页JS代码携带到目标页面。因此,您将需要在目标页面上计算结果,或者将结果作为URL查询或其他方式传递给目标页面。