2015/11/12

使用VirtualBox安裝Ubuntu後,調整終端機螢幕解析度

使用虛擬機安裝Linux後,終端機畫面總是640x480的解析度,小小的螢幕總是看不舒服,如果沒有打算使用其他連線軟體來操作了話(畢竟是本地端的虛擬機,不需要開機後特意另外開PuTTY去連),可以調整 /etc/default/grub 這個檔案,來變更你想要的終端機解析度,詳細操作如下。

  1. $ cd /etc/default/
  2. $ sudo vi grub
  3. 找到 #GRUB_GFXMODE=640x480 這一行,將註解#拿掉,並修改成你要的解析度後儲存,例如:800x600
  4. $ sudo update-grub
  5. $ sudo reboot

重開機完成後,就大功告成囉~

 

測試環境: Windows 10 + VistualBox 5,安裝 Ubuntu Server 14.03 LTS

2015/10/2

ASP.NET 5 無法執行dnu指令

使用yomen建立完ASP.NET 5的範本後,通常會先執行dnu restore來回復有使用到的package,如果執行此指令時,系統卻告訴你無法識別此指令,可以試著下dnvm upgrade來更新dnvm的版本看看,這樣就會重新安裝dnu工具。

另外,dnu指令的位置會在:%userprofile%\.dnx\runtimes\<runtime name>\bin.
參考~

2015/4/16

[筆記] 透過Javascript根據內容來自動調整iframe高度

方法一︰
先加入iframe的語法。(Ex︰A.html)
<iframe src="./source" (欲連結的網頁,Ex︰B.html) name="mainframe" width="100%" marginwidth="0" marginheight="0" scrolling="No" frameborder="0" id="mainframe">
</iframe> 
在到欲連結的網頁(Ex︰B.html)裡,在head下面加入以下程式碼。
<head>
    <script>
    function resize() {     
        parent.document.getElementById("mainframe").height = document.body.scrollHeight; //將子頁面高度傳到父頁面框架     
    }
    </script>
</head>


並在body(Ex︰B.html)裡加入︰
<body onload="resize();" >

方法二︰
在同一個檔案內編寫就可以了。
<script type="text/javascript">
function SetCwinHeight() {
    var iframeid = document.getElementById("mainframe"); //iframe id  
    if (document.getElementById) {
        if (iframeid && !window.opera) {
            if (iframeid.contentDocument && iframeid.contentDocument.body.offsetHeight) {
                iframeid.height = iframeid.contentDocument.body.offsetHeight;
            } else if (iframeid.Document && iframeid.Document.body.scrollHeight) {
                iframeid.height = iframeid.Document.body.scrollHeight;
            }
        }
    }
}
</script>
在加入iframe的語法。
<iframe src="./NEWS" name="mainframe" width="100%" marginwidth="0" marginheight="0" onload="Javascript:SetCwinHeight()"  scrolling="No" frameborder="0" id="mainframe"  ></iframe>



2015/3/17

如何在網站內嵌PDF,顯示PDF內容

最近遇到一個問題,想要在網頁中直接顯示PDF檔案,該如何處理呢?
在網路上找到一個簡單方法,直接使用Google的Document Viewer來達到這個目的

透過Google Document Viewer的嵌入(embedded)功能,嵌入網頁中,程式碼中直接去指定PDF的來源位置,再搭配網頁版型調整一下iframe的大小,即可!是不是很簡單方便!

範例程式碼:
<iframe src="http://docs.google.com/gview?url=http://site/yourPDFfileName.pdf&embedded=true" style="width:600px; height:500px;" frameborder="0″></iframe>

要注意的是,url 後面要使用絕對網址來指定你的PDF位置,不能用相對網址唷,否則會顯示不出來。

文章 摘錄於 http://vincicat.blogspot.com/2009/09/pdf-free-online-pdf-viewer.html



2014/8/23

Synology 無法更新手動安裝的Wordpress

透過手動上傳 Wordpress 至 Synology 安裝,會產生所上傳的檔案「擁有者」是上傳者的帳號,因此要自動安裝 plugin, update, theme 的時候,甚至是更新的時候,就會出現「無法新建目錄」或是沒有權限等訊息。

無法寫入的原因是 Synology Apache 執行的時候,所使用的 userid 與 WordPress 目錄的 owner 不一樣所致。一般來說 Synology 所使用的 userid 是 http。

解決方法其實就是將 WordPress 目錄的 owner 改成 Apache 執行時的 userid 就可以了!

步驟:
  1. 確認所執行時用的 userid 是哪個。首先在該 Web 目錄下新增一個 php,內容如下:
    <?php echo(exec(“whoami”)); ?>
  2. 在瀏覽器中,開啟該 php,就可以在瀏覽器中看到所使用的 userid 。
  3. 接著再到 Synology 中的 WordPress 的上一層目錄,然後使用 chown 指令更改 owner 就可以解決問題。
    chown -R http: wordpress

備註:
透過 DSM 雖然是有修改擁有者的欄位,但是無法修改成 http 這個帳號,因此需要透過 telnet 或是 shh 登入 Synology 主機,才有辦法修改。

2014/7/8

使用JavaScript判斷所使用的裝置

目前有很多種方式可以判別使用者所使用的裝置,尤其是在自適應網站興起的現在。

這幾天在網路上發現一個好用的Javascript工具,WURFL.js,他基本的運作方式如下:

wurflIOsimple

透過WURFL.js的資料收集與分析,讓Javascript可以辦別出使用者所連入是哪種裝置,並提供下列元件的資料輸出:

{
complete_device_name:"Apple iPhone 5",
form_factor:"Smartphone",
is_mobile:true
}




其中,complete_device_name是會回傳裝置名稱,但如果事太新的機型,就要等WURFL.js維護過才會有資料。


而form_factor元件是會回傳來原裝置的類別,相關類別如下:



  • desktop

  • app

  • tablet

  • smartphone

  • feature phone

  • smart TV

  • robot

  • other non-mobile

  • other mobile

最後一個物件is_mobile比較簡單,單傳回傳該裝置是否是行動裝置,提供你做判斷。


詳細的使用方式請參考來源資料。


來源資料:http://www.smashingmagazine.com/2014/07/01/server-side-device-detection-with-javascript/

2014/7/4

如何偵測使用者是否使用行動裝置來瀏覽網站

製作網頁時,經常需要針對行動裝置另外做框架規劃,這時候需要判斷使用者的裝置來進行引導,那要如何偵測使用者是使用行動裝置來瀏覽網站呢?

http://detectmobilebrowsers.com/這個網站提供了不少資訊,把判斷的 regex 都寫好了,還有各種語言的版本,相當值得收藏,已被不時之需。

2014/5/21

利用 Javascript 取得瀏覽器顯示內容的尺寸

透過下列的 javascript,可取得目前瀏覽器視窗的大小,在遇到不同裝置時可透過此方法得知瀏覽器尺寸,進而針對該尺寸設定CSS。

<script type="text/javascript">
function viewport(){
var viewportwidth;
var viewportheight;

// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
if (typeof window.innerWidth != 'undefined') {
viewportwidth = window.innerWidth;
viewportheight = window.innerHeight;
}
// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
viewportwidth = document.documentElement.clientWidth;
viewportheight = document.documentElement.clientHeight;
}
// older versions of IE
else
{
viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
viewportheight = document.getElementsByTagName('body')[0].clientHeight;
}
alert('Your viewport width is '+viewportwidth+'x'+viewportheight);
}
</script>

2014/5/16

無法從 IIS 下載或開啟特殊副檔名的檔案

前一陣子再學習寫 Markdown 文件,由於檔站是直接存在遠端網站上,想利用Chrome的擴充到件 MarkDown Preview Plus 來開啟 Markdown 文件,但遇到IIS回應出現「HTTP 錯誤 404 - 找不到檔案或目錄」,明明檔案及路徑都正確,卻一直找不到該文件。

經查詢,原來是因為 IIS 6.0 不支援未知的 MIME 類型所造成,只要副檔名是很冷門或不常見的副檔名就會造成檔案無法開啟或無法下載的情況。

解決方法:
  1. 開啟 IIS 管理員。
  2. 在本機電腦名稱,按滑鼠右鍵,選擇「內容」。
  3. 按一下「MIME 類型」。
  4. 按一下「新增」。
  5. 在「副檔名」方塊中,輸入您想要的副檔名(例如.pdb)或萬用字元(*)。
  6. 在「MIME 類型」方塊中,輸入 application/octet-stream。
  7. 套用新設定,重新啟動 IIS。

另外,建議使用 MarkDown Preview Plus 時,開啟 Enable auto-reload 功能,讓此擴充套件在讀取完 Markdown 文件後,自動重新整理,避免出現編碼不對所造成的亂碼。

2014/5/3

[筆記]在Drupal中安裝CKEditor

發現在Drupal中安裝CKEditor還挺多步驟的,上網找了許多資料,大多不建議直接使用CKEditor for Drupal,因為如果直接在 Drupal 網站下載 CKEditor for Drupal 的話是要買授權的,如果你要使用Open Source的方式,則需要下載兩個不同的檔案,然後自己合併成一個模組。

步驟一:
下載 CKEditor (http://drupal.org/project/ckeditor)
下載後先解在自己的電腦,然後在 ckeditor 下面還有一個 ckeditor 的目錄,要確認裡面有 "COPY_HERE.txt"

步驟二:
下載 CKEditor 核心程式 (http://ckeditor.com/download)
注意!這裡要下載 CKEditor,而不是下載 CKEditor for Drupal。
下載後把他解開放入 ckeditor/ckeditor 。

步驟三:
設定並上傳至Drupal網站,將 ckeditor 整個目錄上傳到 sites/all/modules/ 中。
視需要修改 sites/default/settngs.php ,在前面加上以下兩行。
ini_set('memory_limit', '64M');
$cookie_domain = 'yourdomain.com';
這樣就大功告成囉~