これは私のearlier questionの拡張です。DXL経由でエクスポートしたときのSSJSライブラリのエンコーディングスキーム
<item name="$ServerJavaScriptLibrary" sign="true">
<rawitemdata type="1">
....ENCODED SSJS....
</rawitemdata>
</item>
私は以前、ここで使用される符号化スキームはBase64であることを考えた:私たちはDXLにSSJSライブラリをエクスポートすると、我々はこれを含む出力を得ます。しかしSSJSライブラリをインポートするのに失敗した後、私はそうではないと思います。検索中にtype="1"
がTYPE_COMPOSITE
を指しているのに対し、type="14
"はBase64を指しています(私が間違っていると私を修正してください)。type="14"
をXMLファイルに入れて、rawitemdata
タグにBase64エンコードコードを入れてみました。ファイルをインポートします。これは、データベースにSSJSライブラリを作成したが、その内容は空白だった。
それはBase64でそれを符号化することにより、テーマをインポートしている場合、私はthis linkを見つけたが、それは「YQAYAAAAAAA6AAAAAQAAAAAAAAAAAAAAYABMAAAAOgA6AAAAAAAAAAAA」でエンコードされた文字列を付加します。私が先頭に追加してみましたそれを私のコード化されたSSJSコードに入れてインポートしますが、まだ失敗します。
私のデータベースのSSJSコード?
ありがとうトーン・スヴェン!コードが機能しました。ローカルマシンで試してみました。そのために、 'sessionAsSignerWithFullAccess'の使用を' session'に置き換えなければなりませんでした。しかし、インポートしたファイルを最後に開くと、特別な文字(黒い四角で囲んだもの)、スペース、「s」と「d」の4つの余分な文字が表示されます。なぜどんなアイデア?私はローカルマシンでこれを実行しているからですか? captchaの正しい単語を入力したにもかかわらず、メッセージ「FEHLER:読めないCAPTCHAトークンファイル」を表示し続けるので、あなたのブログでこれをコメントすることはできませんでした。 – Naveen
@Naveen:フィードバックいただきありがとうございます。最後のWPアップデートがcaptchaプラグインを抹消しました。今度は再び動作します。あなたの質問に:うーん、現在、私はあなたのSSJSライブラリのコードですので、最後に "余分な"文字を説明することはできません。これはすべての*ライブラリ、または特定のライブラリの一般的な問題ですか? –
少しの試行錯誤の後、私は興味深い観察を見つけました。 'test1 = function(){}'のような関数をインポートしようとすると。次に、インポートされたスクリプトライブラリに問題はありません。しかし、 'function test1(){}'のような関数をインポートしようとすると。インポートされたスクリプトライブラリは、最後に特殊文字を持ちます。どうしてか分かりません! Problemsビューのエラーは、このメッセージの 'Line 17、column 2の字句エラーです。遭遇しました:" "の後に" \ u25a0 "(9632)です。なぜどんなアイデア?また、私はあなたのブログにコメントすることができず、投稿しようとするたびに「迷惑メールが削除されました」というメッセージが表示されました。 – Naveen