Dropbox의 선택기 API 드롭 인을 작성중인 플러그인 에 통합하려고 할 때이 문제가 발생 했습니다.
API 설명서 script
는 파일 상단에 다음 태그 를 배치하도록 지시 합니다.
<script type="text/javascript" src="https://www.dropbox.com/static/api/1/dropins.js" id="dropboxjs" data-app-key="MY_APP_KEY"></script>
모두 훌륭하고 좋으며 실제로 관리자 섹션에서 호출 된 페이지에 직접 붙여 넣을 때 작동합니다. 그러나 필요한 ID와 데이터 응용 프로그램 키를 전달하기 위해 wp_register_script (), wp_enqueue_script () 및 wp_localize_script ()의 변형을 사용하고 싶습니다.
나는 이것에 대해 몇 가지 다른 변형을 시도했다.
add_action('admin_enqueue_scripts', 'add_dropbox_stuff');
function add_dropbox_js() {
wp_register_script('dropbox.js','https://www.dropbox.com/static/api/1/dropins.js');
wp_enqueue_script('dropbox.js');
wp_localize_script('dropbox.js','dropboxdata',array('id'=>"dropboxjs",'data-app-key'=>"MY_APP_KEY"));
}
과:
add_action('admin_enqueue_scripts', 'add_dropbox_stuff');
function add_dropbox_stuff() {
wp_register_script('dropbox.js','https://www.dropbox.com/static/api/1/dropins.js');
wp_enqueue_script('dropbox.js');
wp_localize_script('dropbox.js','dropboxdata',array(array('id'=>"dropboxjs"),array('data-app-key'=>"MY_APP_KEY")));
}
MY_APP_KEY는 내 코드에서 적절한 응용 프로그램 키로 바뀝니다. 어떤 방향 으로든 감사하겠습니다. 감사.
편집 : 또한 일부 jquery로 시도했지만 아무 소용이 없습니다. 문서로드 및 문서 준비시이를 시도했습니다. { "오류": "잘못된 app_key"} 반환이 나타납니다.
$('script[src="https://www.dropbox.com/static/api/1/dropins.js?ver=3.6"]').attr('id','dropboxjs').attr('data-multiselect','true').attr('data-app-key','MY_APP_KEY');
wp_localize_script
스크립트 속성을 생성하지 않는 GM이 맞습니다 . 그러나 앱 키를 dropbox.js에 직접 전달할 수 있습니까? 그냥 추측하지만 시도 array('appKey'=>"MY_APP_KEY")
했습니까? 이것은 속성에서 키를 if(!Dropbox.appKey){Dropbox.appKey=(e=document.getElementById("dropboxjs"))!=null?e.getAttribute("data-app-key"):void 0}
wp_localize_script
을 사용하면 스크립트에 속성을 전달할 수 있습니다. 나는 이것이 효과가 있는지 아닌지를 정말로 알지 못하지만, 걱정스러운 문제는 아닙니다.
wp_localize_script
페이지의 html 출력에 JSON으로 인코딩 된 객체를 인쇄하는 것은 무엇입니까? 이 개체는 스크립트에 의해 인식되므로 사용할 수 있습니다. 필요한 것은 스크립트 태그에 일부 속성을 추가하는 것이므로wp_localize_script
도움이되지 않습니다.