Как выполнить функцию родительского окна, когда дочернее окно закрывается?

Вы работаете под предположением, что целочисленное переполнение всегда является нежелательным поведением.

Иногда целочисленное переполнение является желаемым поведением. Одним примером, который я видел, является представление абсолютного значения заголовка как число фиксированной точки. Учитывая неподписанный интервал, 0 0 или 360 градусов, и макс. целое число без знака на 32 бита (0xffffffff) является самым большим значением чуть ниже 360 градусов.

int main()
{
    uint32_t shipsHeadingInDegrees= 0;

    // Rotate by a bunch of degrees
    shipsHeadingInDegrees += 0x80000000; // 180 degrees
    shipsHeadingInDegrees += 0x80000000; // another 180 degrees, overflows 
    shipsHeadingInDegrees += 0x80000000; // another 180 degrees

    // Ships heading now will be 180 degrees
    cout << "Ships Heading Is" << (double(shipsHeadingInDegrees) / double(0xffffffff)) * 360.0 << std::endl;

}

существуют, вероятно, другие ситуации, где переполнение приемлемо, подобно этому примеру.

40
задан tshepang 20 December 2013 в 08:55
поделиться

2 ответа

Вы можете как-то попробовать следующее:

Созданное окно:

window.onunload = function (e) {
    opener.somefunction(); //or
    opener.document.getElementById('someid').innerHTML = 'update content of parent window';
};

Родительское окно:

window.open('Spawn.htm','');
window.somefunction = function(){

}

Вы не должны делать это с родительским элементом, иначе opener.somefunction () не будет работать, выполнение window.somefunction делает некоторые функции общедоступными:

function somefunction(){

}
58
ответ дан 27 November 2019 в 01:34
поделиться

Возможно, вы захотите использовать событие « onbeforeunload ». Это позволит вам вызвать функцию в родительском окне из дочернего окна непосредственно перед закрытием дочернего окна.

Вероятно, что-то вроде этого:

window.onbeforeunload = function (e) {
    window.parent.functonToCallBeforeThisWindowCloses();
};
9
ответ дан 27 November 2019 в 01:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: