MTのはまりポイント@さくら

dev, MovableType No Comments »

CGIファイルやPHPファイルでエラー。ファイルの属性は755。ファイルが置いてあるディレクトリの属性を777から755に変更して解決。

さくらだからじゃないのかもしれないけど、記事の保存や、再構築をした時にファイルのパーミッションが書き換えられてしまう。次、記事を修正したとき、テンプレートの編集をした時などに上書きする権限がなくてエラーが出てしまう。。mt-config.cgiに下記を書き足すことで解決できる。なんだこれ。
--
HTMLUmask 0022
DirUmask 0022
HTMLPerms 0777
--
MTのバージョンも関係したりするのかしら。今回はMTOSでこの症状になった。

参考にしたサイト

JavaScriptを使ってリンクを別ウィンドウで開く

JavaScript No Comments »

XHTML1.0Strictではaタグにtarget="_blank"が使えない。別ウィンドウで開きたいのならXHTML1.0Trasitionalでtarget="_blank"使えばって誰か言ってたみたいだけど。ここではJavaScriptを使って別ウィンドウで開く方法を書きます。

  1. <a href="http://kyokutyo.com/" onclick="window.open("http://kyokutyo.com/"); return false;">リンク</a>

    とかやってみる。長い。

  2. <a href="http://kyokutyo.com/" onclick="window.open(this.href); return false;">リンク</a>

    とthis.href使うとちょっと短くなる。
    だけどaタグに毎度書いてるとHTMLがごちゃごちゃしてくる。

  3. スクリプトを外に出してHTMLをすっきりさせたい。別ウィンドウで開きたいリンクにはrel="external"を付けるようにする。
    HTML

    <a href="http://kyokutyo.com/" rel="external">リンク</a>

    JSファイル

    function externalLinks() {
      if (! document.getElementsByTagName ) return;
      var a = document.getElementsByTagName("a");
      for (var i=0; i<anchors.length; i++) {
        if(anchors[i].getAttribute("href") && anchors[i].getAttribute("rel") == "external"){
          anchors[i].setAttribute("onclick","window.open(this.href); return false;");
        }
      }
    }
    
    window.onload = externalLinks;

    ロードされたらexternalLinksを実行。aタグを全部拾って、順にチェック。hrefがあって、且つrelにexternalが指定されてる場合、onclickにwindow.open(this.href); return false;を設定する。IEでうごかない。

  4. HTMLは3と同じ。

    IE対応版JSファイル

    function externalLinks() {
      if (! document.getElementsByTagName ) return;
      var anchors = document.getElementsByTagName("a");
      var isIE = (document.documentElement.getAttribute("style") == document.documentElement.style);
      for (var i=0; i<anchors.length; i++) {
        if(anchors[i].getAttribute("href") && anchors[i].getAttribute("rel") == "external"){
          if(isIE) anchors[i].setAttribute("onclick",new Function("window.open(this.href); return false;"));
          else anchors[i].setAttribute("onclick","window.open(this.href); return false;");
        }
      }
    }
    
    window.onload = externalLinks;

4のコードをSnipplrに置いた。
external link - JavaScript - Snipplr
やっぱりハイライトついてた方が見やすいな。

参考にしたサイト

Powered by WordPress | WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン