=============================================
以下是自動(dòng)生成form的URL
===============================================
/**
* フォーム自動(dòng)送信URLを作成
* @Author yunsheng.ma
* @CreateDate 2026/03/17
* @param {String} actionUrl 送信先URL
* @param {Object} formData? 送信データ
* @return {String} BlobURL
*/
function createAutoSubmitFormBlobUrl(actionUrl, formData) {
? ? var html =
? ? ? ? '<form id="autoSubmitForm" method="post" action="' + actionUrl + '" >' +
? ? ? ? Object.entries(formData).map(function(item) {
? ? ? ? ? ? var key = item[0];
? ? ? ? ? ? var val = item[1];
? ? ? ? ? ? return '<input type="hidden" name="' + key + '" value="' + val + '">';
? ? ? ? }).join('') +
? ? ? ? '</form>'
? ? ? ? '<script>' +
? ? ? ? 'var form = document.getElementById("autoSubmitForm");' +
? ? ? ? 'form.submit();' +
? ? ? ? 'setTimeout(function(){ window.close(); }, 300);' +
? ? ? ? '<\/script>'
? ? var blob = new Blob([html], { type: 'text/html;charset=UTF-8'});
? ? var blobUrl = URL.createObjectURL(blob);
? ? return blobUrl;
}
=============================================
以下用window.open打開一個(gè)新的窗口并調(diào)用URL邏輯生成函數(shù)
===============================================
var data ={
? ? ? parm1: 'value1',
? ? ? parm2: 'value2'
};
// URL生成
var blobUrl = createAutoSubmitFormBlobUrl(urlinfo, data);
// ウィンドウを開いて実行
if (!(popupWinHandler == null || popupWinHandler.closed)) {
? ? ? popupWinHandler.close();
}
popupWinHandler = window.open(
? ? blobUrl,
? ? "_blank",
? ? "status=yes,toolbar=yes,alwaysRaised=yes,left=0,top=0,scrollbars=yes,resizable=yes",
? ? true
);
popupWinHandler.addEventListener('load',function(){
? URL.revokeObjectURL(blobUrl);
});