0
메인 스크립트에서 간단한 스토리지 배열에 저장된 요소를 삭제합니다. 이것은 간단한 스토리지 배열에 null 요소를 만듭니다. 그래서 스크립트를 실행하여 새 배열을 메인 애드온으로 반환합니다 스크립트 (null 요소가 포함되어 있지 않음) 및 간단한 저장소 배열에 할당합니다. 그러나 주 스크립트는 전체 배열이 아닌 하나의 요소 만 가져옵니다. 전체 배열을 얻는 방법? 새로운 배열을 포함하는 어떤 null 요소를 반환콘텐츠 스크립트에서 메인 애드온 스크립트로 배열을 내보내는 중
text_entry.port.on("del", function (todel) {
console.log(todel);
site_l=ss.storage.sites.length;
for(var i=0;i<site_l;i++)
{
if(ss.storage.sites[i]==todel)
{
delete ss.storage.sites[i];
}
}
text_entry.port.emit("c",ss.storage.sites);
text_entry.port.on("cd",function(arr){
ss.storage.sites=[];
ss.storage.sites=arr;
});
});
스크립트 :
self.port.on("c",function(arr)
{
var a=arr;
var l=a.length;
function isEmpty(element) {
if(element!=null)
return true;
}
a=a.filter(isEmpty);
self.port.emit("cd",a);
});
바꿀 아래의 주요 부가 코드의 일부이다 여기서 뭘하는지 - text_entry는 page-mod 인스턴스입니까, 아니면 무엇입니까? 사람들이 스스로 테스트하고 실행할 수있는 축소 된 예를 제공 할 수 있습니까? – canuckistani
당신은 내가 당신을 도울 수있는 sdk 버전이 아닌 경우. 간단한 테스트 케이스를 만들 수 있습니까? 데모 애드온을 만들 수 있습니다. – Noitidart
@canuckistani 해당 패널 인스턴스입니다. 사용자는 패널의 목록에서 항목을 선택하고 패널 내용 스크립트를 가져 와서 로컬 배열의 목록에서 선택한 항목을 저장하게하는 삭제 버튼을 클릭합니다. 이제는 해당 배열을 기본 스크립트로 보내야합니다. . 배열을 문자열로 변환하여 주 스크립트로 전달하고 split을 사용하여 배열로 만듭니다. – Ram