そもそもの原因は、Office をインストールする時に絶対必要なものしか入れないという習慣から来るもので、ただ単純にその時省いたものが原因でひたすら、とうてい、商品とは思えない動作をします。原因は VBA でした。証明書が必要かどうかは検証していませんが、証明書だけでは改善されず、VBA も追加インストールしたら『まとも』になりました。 関連する記事 Microsoft Office で、『クリップアートを表示できません』と表示される場合の対処
タグ:トラブル
そもそもの原因は、Office をインストールする時に絶対必要なものしか入れないという習慣から来るもので、ただ単純にその時省いたものが原因でひたすら、とうてい、商品とは思えない動作をします。原因は VBA でした。証明書が必要かどうかは検証していませんが、証明書だけでは改善されず、VBA も追加インストールしたら『まとも』になりました。 関連する記事 Microsoft Office で、『クリップアートを表示できません』と表示される場合の対処
※ システム的に重大な処理なので、自信のない場合は使用せずに、GUI で指定して下さい通常、Windows の既存のディレクトリ( マイ ドキュメント等 ) に追加でディレクトリを作成すると上記画像のようになると思います。 通常ならはこれて十分なのですが、サーバーアプリケーション(WWWサーバー等) の場合、現在ログインしているユーザとは別のユーザで処理されるので、ほぼ確実にこのままでは問題が出ます。 GUI でこのまま追加して権限を与えれば良いのですが、結構煩雑で管理上スマートでもありません。そこで、Microsoft が提供してくれている、VBScript のツールを使用します ( Extended Change Access Control List Tool (Xcacls) ) 使用する前の準備 まず、ダウンロードして解凍(実行すると解凍されます)すると、Xcacls.vbs が現れるので、パスの通ったディレクトリに移し、同じディレクトリに以下のようなバッチファイルを作成します( 仮に vbscacls.bat とします ) Windows7 で使用するには、3400 行目を Case "5.0", "5.1", "5.2", "6.1" に変更します( 6.1 が Windows7 )
cscript.exe %~dp0XCACLS.vbs %1 /E %2 %3 %4 %5 %6 %7 %8 %9
第一引数は、必ず対象のディレクトリかファイルで、/E が修正モードという意味で、これが無いと既存の情報が削除されてしまいます 追加 通常、ユーザーを単独で追加するよりグループを追加して対応します。Users で フルコントロールを与えれば、自分の PC としては問題は無いと思いますので、以下のようなパラメータで実行します( カレントディレクトリが対象 )
VBSCACLS "%CD%" /P users:F
削除 指定したグループ(ユーザ)のみ削除されます
VBSCACLS "%CD%" /R users
補足情報 Windows7 用に変更しないと、以下のようなメッセージが出力されますC:\TEMP>VBSCACLS "%CD%" /P users:F C:\TEMP>cscript.exe C:\Windows\XCACLS.vbs "C:\TEMP" /E /P users:F Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. Starting XCACLS.VBS (Version: 5.2) Script at 2013/12/11 9:54:57 ************************************************ * Script not tested on this version of Windows * ************************************************ This script hasn't been tested on version "6.1" of Windows. Currently, the script has been tested on the following: Win2000, WinXP, Win2003 Previous versions of Windows NT can use: "XCACLS.EXE" from the NT 4.0 Resource Kit. For more recent versions, there may be an update to this script. Please contact David Burrell (dburrell@microsoft.com) Note: WMI must be installed for this script to function. If you need to run this script on the current OS, and you verified WMI is installed, do the following: open this script in Notepad search for Function IsOSSupported() change this line: Case "5.0", "5.1", "5.2" to: Case "5.0", "5.1", "5.2", "6.1" Save the script. Exiting script now. Operation Complete Elapsed Time: 4.296875E-02 seconds. Ending Script at 2013/12/11 9:54:57
以下は処理が正常終了した時のメッセージですC:\TEMP>VBSCACLS "%CD%" /P users:F C:\TEMP>cscript.exe C:\Windows\XCACLS.vbs "C:\TEMP" /E /P users:F Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. Starting XCACLS.VBS (Version: 5.2) Script at 2013/12/11 9:58:05 Startup directory: "C:\TEMP" Arguments Used: Filename = "C:\TEMP" /E (Edit ACL leaving other users intact) /P (Replace rights) users:F - Changing /P user/group: "users" to "BUILTIN\Users" ************************************************************************** Directory: C:\TEMP Replacing NTFS rights (F access for This Folder, Subfolders and Files) for "BUIL TIN\Users" Completed successfully. ************************************************************************** Operation Complete Elapsed Time: 4.941406 seconds. Ending Script at 2013/12/11 9:58:10関連する記事 ディレクトリの権限を変更する Xcacls.vbs と Xcacls.exe
以下のチェック部分のコードは、実際に Three.js のデモで使われていたものです。再度検証していますが正しく動いています。しかし、将来的に正しく動作するかどうかは解らないので、document.implementation.hasFeature("webgl","") でチェックする方法もいずれは考慮する必要があるかもしれません。 document.implementation.hasFeature("webgl","") は、IE を含めた主要なブラウザで動作する事を確認はしていますが、Opera NEXT のみ実装と hasFeature が一致しない可能性があります。
<script> if ( window[window.location.hostname+'.loadjQuery'] !== true ) { window[window.location.hostname+'.loadjQuery'] = true; if ( !window.jQuery ) { document.write("<"+"script src=\"//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js\"></"+"script>"); } } </script> <script> $.extend({ is_webgl: (function() { try { return !! window.WebGLRenderingContext && !! document.createElement( 'canvas' ).getContext( 'experimental-webgl' ); } catch( e ) { return false; } })() }); console.log( $.is_webgl ); </script>
以下で実際に投稿できます(本文の手順でアクセストークンを取得して下さい)( 投稿時のパラメータの日本語訳ドキュメント )
とにかくアクセストークンがすぐ欲しい場合 App ID を取得しているという前提で、Graph API Explorer にアクセスして、自分のアプリを選択してから権限を選択(通常デフォルトで十分です)してアクセストークンを取得します。 ▼ プログラムを書いてそこから投稿がアプリ名▼『アクセストークンを取得』をクリックすると、ウインドウが開いて必要なパーミッションを選択します
▲ その後、『Get Access Token』をクリックすると、アクセストークンが『アクセストークンを取得』ボタンの左に表示されます ブラウザを使う(現在 IE でしか取得できません) ブラウザを使って手動で60間有効なアクセストークンを取得します。
Google Chrome でテストしました( IE では結果がうまく戻りません )まず以下の 文字列を作成してアドレスバーに入力します。すると、ログインされていない場合はログインページが表示され、ログイン済の場合は Success とだけ表示されて、アドレスバーに 2時間有効なアクセストークンが表示されます。そのアクセストークンを取得して下さい現在、blank.html が表示されますが、Google Chrome のデベロッパーツールで、Network を開いて実行すると、『login_success.html#access_token=2時間有効なアクセストークン』という形式での URL を確認することができます。結果的に、IE でのみ左端で右クリックして URL のコピーを行う事で取得できる事を確認しています ▼ 2時間有効なアクセストークンを取得する URL ( ログインしていない場合は、ログイン画面が表示されます )
https://www.facebook.com/dialog/oauth/?redirect_uri=http://www.facebook.com/connect/login_success.html&response_type=token&client_id=APIキー&scope=user_about_me,user_photos,read_stream,publish_stream
以下で実際に取得できます(IEで事前にFacebook をログオフしておく)
Facebook をログオフしておいて、上のフォームを実行すると、ログイン画面が表示されるので、そこで開発者ツールを開いてネットワークキャプチャを有効にしてログインします。▲ この画像は、IE11 ですが、IE10 でも動作は確認しました。 ▼ この時取得した URL は以下のようになります
http://www.facebook.com/connect/login_success.html#access_token=アクセストークン&expires_in=6047その2時間有効なアクセストークンを60日間有効なアクセストークンに交換する為に以下の文字列を作成します。
https://graph.facebook.com/oauth/access_token?client_id=APIキー&client_secret=アプリのシークレットキー&grant_type=fb_exchange_token&fb_exchange_token=2時間有効なアクセストークン
以下で実際に取得できます(ここはどのブラウザでも OK です)
▲ 上のフォームから送信すると、ページ内にアクセストークンが表示されます 一般的には、この文字列をブラウザのアドレスバーに入力すると、テキストとして以下のような文字列が帰って来ます。
access_token=60日間有効なアクセストークン&expires=残り時間
ここから以降は再検証していないので参考程度 これらは、offline_access パラメータの廃止に関するドキュメントに書かれてある手順を試してみたものです。ですから、アプリの詳細設定の『移行』で Remove offline_access permission が on になっている必要があります。まだ アプリケーションから試したわけではありませんが、2時間限定のアクセスならば、APIキーのみでシークレットは必要とせずに Graph API にアクセスする事ができます。 ※ graph.facebook.com/me/home でテストしました 2時間のアクセストークンだけならば、Windows8(C#) の WebView でテストして動作しています。WebView の URL の取得は以下のようにして処理しています。 ( イベントで取り出すのがセオリーですが、この方法はいろいろな場面で利用可能なので )
// 取得した文字列から、任意の処理で // アクセストークンを取り出します string url = (webView.InvokeScript("eval", new String[] { "(function(){return location.href})();" })).ToString();
関連する Facebook ドキュメント Extended Permissions
cURL 関数であらかじめ Content-Type を取得しておいて、表示可能ならば charset を引き継いで、text/plain で表示します。 ※ 実際、ブラウザで表示するものとは違う可能性はあります
<?php $ch = curl_init($_GET['url']); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // ********************************************************* // https 用 // ********************************************************* curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); $data = curl_exec($ch); curl_close($ch); if ($data === false) { echo 'cURL failed'; exit; } $contentType = 'unknown'; if (preg_match('/(Content-Type: .+)/i', $data, $matches1)) { $contentType = $matches1[1]; } $charset = 'utf-8'; if (preg_match('/(charset.+)/i', $data, $matches2)) { $charset = $matches2[1]; } $target = false; if ( false !== stripos( $contentType, "text" ) ) { $target = true; } if ( false !== stripos( $contentType, "javascript" ) ) { $target = true; } if ( false !== stripos( $contentType, "css" ) ) { $target = true; } if ( !$target ) { exit("Can't display"); } header( "Content-Type: text/plain; charset={$charset}" ); header( "pragma: no-cache" ); header( "Expires: Wed, 31 May 2000 14:59:58 GMT" ); header( "Cache-control: no-cache" ); print file_get_contents($_GET['url']); ?>
関連する記事 PHP : WEBでもコマンドラインでもHTTPでファイルをダウンロードする
正解は、IEBlog ですけど。 Three.js へのリンクがあるのもびっくりしたけれど、確かに、Three.js は全てでは無いですが動作します。 関連する記事 Windows7 用の IE11 がリリースされて、めでたく『WebGL』が使えるようになりました。 そもそも、英文表記でもそうなってるので、本家本元のミスなんでしょうね。で、一部の WebGL 機能がサポートされていません という下りの部分なんで、余計なんだかなぁ・・・・って感じです。 ううむ。もうちょっと頑張って欲しいのだけれど。 Three.js の評価がかなり高く記述されているようなので、それはそれでちょっと嬉しいですけれど。
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。 Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。 また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。 ※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです 対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。※ エキスパートモードで表示しています アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります
<% if:page_name eq 'archive' -%> アーカイブページでのみ表示される内容 <% /if %> <% if:page_name eq 'category' -%> カテゴリページでのみ表示される内容 <% /if %> <% if:page_name eq 'tag' -%> タグページでのみ表示される内容 <% /if %>この記述は、以下の場所で使用します![]()
|