diff --git a/ecs/jskult-webapp/src/model/view/bio_view_model.py b/ecs/jskult-webapp/src/model/view/bio_view_model.py index 7ad9e8cb..e5731c2d 100644 --- a/ecs/jskult-webapp/src/model/view/bio_view_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_view_model.py @@ -62,9 +62,9 @@ class BioViewModel(BaseModel): part_size = 500 for i in range(0, search_data_len, part_size): json_str = json.dumps(search_data_list[i:i + part_size], ensure_ascii=False, default=date_handler) - # JavaScriptに埋め込むため、クォートをエスケープ - json_str = json_str.replace("'", "\\'") - json_str = json_str.replace('\\"', '\\\\"') + # JavaScriptに埋め込むため、バックスラッシュ、バッククォートをエスケープ + json_str = json_str.replace('\\', '\\\\') + json_str = json_str.replace("`", "\\`") yield json_str def make_whs_name(self): diff --git a/ecs/jskult-webapp/src/model/view/ultmarc_doctor_search_view_model.py b/ecs/jskult-webapp/src/model/view/ultmarc_doctor_search_view_model.py index cecfd77d..a3bfdd49 100644 --- a/ecs/jskult-webapp/src/model/view/ultmarc_doctor_search_view_model.py +++ b/ecs/jskult-webapp/src/model/view/ultmarc_doctor_search_view_model.py @@ -28,9 +28,9 @@ class UltmarcDoctorSearchViewModel(BaseModel): part_size = 50 for i in range(0, search_data_len, part_size): json_str = json.dumps(search_data_list[i:i + part_size], ensure_ascii=False, default=date_handler) - # JavaScriptに埋め込むため、クォートをエスケープ - json_str = json_str.replace("'", "\\'") - json_str = json_str.replace('\\"', '\\\\"') + # JavaScriptに埋め込むため、バックスラッシュ、バッククォートをエスケープ + json_str = json_str.replace('\\', '\\\\') + json_str = json_str.replace("`", "\\`") yield json_str # ページネーションのページ番号 diff --git a/ecs/jskult-webapp/src/model/view/ultmarc_inst_search_view_model.py b/ecs/jskult-webapp/src/model/view/ultmarc_inst_search_view_model.py index 2a5a0dd5..c8317400 100644 --- a/ecs/jskult-webapp/src/model/view/ultmarc_inst_search_view_model.py +++ b/ecs/jskult-webapp/src/model/view/ultmarc_inst_search_view_model.py @@ -30,9 +30,9 @@ class UltmarcInstSearchViewModel(BaseModel): part_size = 50 for i in range(0, search_data_len, part_size): json_str = json.dumps(search_data_list[i:i + part_size], ensure_ascii=False, default=date_handler) - # JavaScriptに埋め込むため、クォートをエスケープ - json_str = json_str.replace("'", "\\'") - json_str = json_str.replace('\\"', '\\\\"') + # JavaScriptに埋め込むため、バックスラッシュ、バッククォートをエスケープ + json_str = json_str.replace('\\', '\\\\') + json_str = json_str.replace("`", "\\`") yield json_str # ページネーションのページ番号 diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index 64fa09b5..c978a9df 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -371,7 +371,7 @@ // ジェネレータですこしずつ取得してリストに詰める // {% for bio_data_json_str in bio.bio_data_json_str() %} // unicode制御文字をエスケープしてからJSON.parseする - searchResultData.push(...JSON.parse('{{bio_data_json_str}}'.replace(/[\u0000-\u001F]+/g, " "))) + searchResultData.push(...JSON.parse(`{{bio_data_json_str}}`.replace(/[\u0000-\u001F]+/g, " "))) // {% endfor %} // {% endautoescape%} // {% endif %} diff --git a/ecs/jskult-webapp/src/templates/docSearch.html b/ecs/jskult-webapp/src/templates/docSearch.html index 6d50f29b..c8bd7609 100644 --- a/ecs/jskult-webapp/src/templates/docSearch.html +++ b/ecs/jskult-webapp/src/templates/docSearch.html @@ -274,7 +274,7 @@ // ジェネレータですこしずつ取得してリストに詰める // {% for ultmarc_data_json_str in ultmarc.ultmarc_data_json_str() %} // unicode制御文字をエスケープしてからJSON.parseする - searchResultData.push(...JSON.parse('{{ultmarc_data_json_str}}'.replace(/[\u0000-\u001F]+/g, " "))) + searchResultData.push(...JSON.parse(`{{ultmarc_data_json_str}}`.replace(/[\u0000-\u001F]+/g, " "))) // {% endfor %} // {% endautoescape%} // {% endif %} diff --git a/ecs/jskult-webapp/src/templates/instSearch.html b/ecs/jskult-webapp/src/templates/instSearch.html index 2bb81667..92f08e10 100644 --- a/ecs/jskult-webapp/src/templates/instSearch.html +++ b/ecs/jskult-webapp/src/templates/instSearch.html @@ -258,7 +258,7 @@ // ジェネレータですこしずつ取得してリストに詰める // {% for ultmarc_data_json_str in ultmarc.ultmarc_data_json_str() %} // unicode制御文字をエスケープしてからJSON.parseする - searchResultData.push(...JSON.parse('{{ultmarc_data_json_str}}'.replace(/[\u0000-\u001F]+/g, " "))) + searchResultData.push(...JSON.parse(`{{ultmarc_data_json_str}}`.replace(/[\u0000-\u001F]+/g, " "))) // {% endfor %} // {% endautoescape%} // {% endif %}